vue-router4之命名路由与命名视图

专栏目录请点击

命名路由

  • 其实路由配置的时候我们可以传递一个name属性,含有name属性的路由是命名路由
  • 命名路由可以对params自动编码和解码

定义

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

跳转

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

or

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

命名视图

当我们在同一级要展示多个视图,这个时候就需要我们使用命名视图了,这似乎与react的多组路由差不多 点击

如果路由没有设置名字,则默认为default 官网

简单使用

添加上了name属性

<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>

路由配置

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

注意component加上了s

嵌套的命名视图

子路由的页面

<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
    }
  }]
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值