命名路由

在Vue Router中 除了 path 之外,还可以为任何路由提供 name。

const routes = [{path: '/user/:username',name: 'user',component: User}
]

要链接到一个命名的路由,可以向 router-link 组件的 to 属性传递一个对象:

<router-link :to="{ name: 'user', params: { username: 'erina' }}">User
</router-link>

同样可以使用 router.push()

router.push({ name: 'user', params: { username: 'erina' } })

以上两种情况,路由将导航到路径 /user/erina

命名视图

有时候想同时 (同级) 展示多个视图,而不是嵌套展示,例如创建一个布局,有 sidebar (侧导航) 和 main (主内容) 两个视图,这个时候就可以使用命名视图。

场景:在界面中拥有多个单独命名的视图,而不是只有一个单独的出口。

如果 router-view 没有设置名字,那么默认为 default。

<router-view class="view left-sidebar" name="LeftSidebar"></router-view>
<router-view class="view main-content"></router-view>
<router-view class="view right-sidebar" name="RightSidebar"></router-view>

一个视图使用一个组件渲染,因此对于同个路由,多个视图就需要多个组件。
注意:component 要改为 components

routes: [{path: '/',components: {default: Home,// LeftSidebar: LeftSidebar 的缩写LeftSidebar,// 它们与 `<router-view>` 上的 `name` 属性匹配RightSidebar,},},],const router = new Router({mode: 'history',routes,
})

嵌套命名视图

官方示例

  • Nav 只是一个常规组件。
  • UserSettings 是一个视图组件。
  • UserEmailsSubscriptions、UserProfile、UserProfilePreview 是嵌套的视图组件。

UserSettings 组件的 <template> 部分应该是类似下面的这段代码:

<!-- UserSettings.vue -->
<div><h1>User Settings</h1><NavBar /><router-view /><router-view name="helper" />
</div>

可以通过这个路由配置来实现上面的布局:

{path: '/settings',// 你也可以在顶级路由就配置命名视图component: UserSettings,children: [{path: 'emails',component: UserEmailsSubscriptions}, {path: 'profile',components: {default: UserProfile,helper: UserProfilePreview}}]
}

Vue Router 命名路由、(嵌套)命名视图相关推荐

  1. Vue Router 实现路由控制实战

    本文是我在学习过程中记录学习的点点滴滴,目的是为了学完之后巩固一下顺便也和大家分享一下,日后忘记了也可以方便快速的复习. Vue Router 实现路由控制实战 前言 一.什么是单页面应用及实现前端路 ...

  2. 面试考问Vue Router 的路由模式,这个回答令我直接出局!

    HR力荐了一个工作 4 年,目前年薪 40W+ 的候选人. 看他简历,从 HTML,CSS,JavaScript ,Vue.js ,再到React 一个都不缺,跨平台PC.移动端.小程序也都接触过,像 ...

  3. 你真的理解 Vue Router 的路由模式吗?

    HR力荐了一个工作 4 年,目前年薪 40W+ 的候选人. 看他简历,从 HTML,CSS,JavaScript ,Vue.js ,再到React 一个都不缺,跨平台PC.移动端.小程序也都接触过,像 ...

  4. 面试考问Vue Router 的路由模式,这个回答令我直接出局~

    HR力荐了一个工作 4 年,目前年薪 40W+ 的候选人. 看他简历,从 HTML,CSS,JavaScript ,Vue.js ,再到React 一个都不缺,跨平台PC.移动端.小程序也都接触过,像 ...

  5. vue router children 路由变了 组件没变_Vue.js从零开始——路由(2)

    因为一些原因,我断更了几天时间,因为要准备面试 + 不在家,抱歉大家! 题图是一个大概的 Vue 模块化项目组成,当然因为我从网上找的,所以可以忽略当中的 Bulma,这其实是一个 CSS 框架,往简 ...

  6. 什么是命名路由?命名路由,命名路由意义

    // 路由规则 const routes = [{path: "/",component: Layout,children: [{path: "/",name: ...

  7. 注意避坑,Vue Router 4: 路由参数在 created/setup 时不可用

    有梦想,有干货,微信搜索 [大迁世界] 关注这个在凌晨还在刷碗的刷碗智. 本文 GitHub https://github.com/qq449245884/xiaozhi 已收录,有一线大厂面试完整考 ...

  8. vue——router更改路由地址,但是页面不能跳转

    在做电商项目时,筛选标签时,需要路由发生变化,但是当前的页面商品列表还需要局部刷新. 如果更改路由后,页面跳转,则是全局刷新,局部刷新才能够满足用户需求. 则此时要做的就是:更改路由地址,但是页面不能 ...

  9. vue router 的路由传参 params 和 query 的 区别

    1. 不带参数<router-link :to="{name:'home'}"> <router-link :to="{path:'/home'}&qu ...

  10. Vue(小码哥王洪元)笔记06路由,url的hash,history,router-linke,路由跳转,动态路由,懒加载,路由嵌套,router参数传递,导航守卫

    1.什么是路由 路由器提供了两种机制:路由和传送 路由:数据报从来源到目的地的路径 传输:将输入端的数据转移到合适的输出端 路由有一个非常重要的概念教路由表 路由表本质上就是一个映射表,决定了数据包的 ...

最新文章

  1. python回归建模_Python实现回归预测及模型优化
  2. Android弹出框的学习
  3. 您的安全设置不允许网站使用安装在您的计算机上的ActiveX控件的解决方法
  4. _​_​i​n​t​6​4​ ​与​l​o​n​g​ ​l​o​n​g​ ​i​n​t
  5. buu [BJDCTF 2nd]签到-y1ng
  6. 【机器学习】为什么GBDT可以超越深度学习
  7. 详解 | 引起电源模块发热的4个主要原因
  8. (65)FPGA面试题-状态机编码选择原则?
  9. 农村树上的野菜“刺老芽”,价格比肉还贵,这是为啥呢?
  10. thinkphp仿素材火教程_thinkphp6学习教程与源码 tp6开源CMS系统源码研究
  11. 对讲机怎么用_对讲机防水透气解决方案是怎么做的?
  12. [非原创] 获取CPUID;
  13. 如何在IOS上玩gba游戏(免越狱)
  14. 数据结构与算法: Asymptotic Analysis 渐近分析
  15. 自己写了一个小小的双色球号码随机生成器
  16. tree traversal (树的遍历) - postorder traversal (后序遍历)
  17. 阿松嘚嘚嘚-数据库篇2-完美范式不完美
  18. CentOS 8 上配置 FTP 服务器详细步骤,附截图
  19. ubuntu在目录下文件中搜索关键字
  20. 用c++输出一个等腰三角形

热门文章

  1. 小鱼大营救:上周小鸟上太空,本周小鱼下海底
  2. java裁剪png图片_如何在Java中进行图片剪裁
  3. win10禁用Windows Defender
  4. R数据分析:交叉滞后模型基础与实例解析
  5. 拿了就走,首家5G无感支付便利店来了!
  6. 如何禁用Mac防火墙激活软件
  7. CF630K 【Indivisibility】
  8. vue项目设置浏览器标题title
  9. 计算机组装维护的知识点,计算机组装和维修-知识点总结.doc
  10. 第一部3D片源《阿修罗》首映礼在移动电影院上线,颜丹晨白裙助阵