Rumah  >  Artikel  >  hujung hadapan web  >  浅析Vue.js之动态路由以及命名视图

浅析Vue.js之动态路由以及命名视图

零到壹度
零到壹度asal
2018-04-21 11:32:042113semak imbas

这篇文章介绍的内容是关于浅析Vue.js之动态路由以及命名视图,有着一定的参考价值,现在分享给大家,有需要的朋友可以参考一下

动态路由
动态路由其实又可以叫做路由传参。

const router = new VueRouter({
  routes: [    // 动态路径参数 以冒号开头
    { path: '/user/:id', component: User }
  ]
})

形如上述形式的路径即为动态路由,冒号后是参数,可以跟多段参数,每个参数都被设置到this.$route.params中。

注意/user/:id和/user/:name,当参数变化时,组件会被复用,因此组件生命周期钩子不会被再次调用。复用组建时,可以通过监听$route对象的变化来监测路由是否变化。

路由钩子beforeRouterUpdate也会执行。

vue-router 使用 path-to-regexp 作为路径匹配引擎,假如路径很复杂可以学习高级的匹配模式。但是路径一般不应设计的太复杂,如果太复杂,应该考虑如何简化

命名视图

有时候想同时(同级)展示多个视图,例如创建一个布局,有 sidebar(侧导航) 和 main(主内容) 两个视图,这个时候命名视图就派上用场了。你可以在界面中拥有多个单独命名的视图,而不是只有一个单独的出口。如果 router-view 没有设置名字,那么默认为 default。

<router-view class="view one"></router-view>
<router-view class="view two" name="sidebar"></router-view>
<router-view class="view three" name="header"></router-view>

一个视图使用一个组件渲染,因此对于同个路由,多个视图就需要多个组件。确保正确使用 components 配置(带上 s):

routes: [
    {
      path: &#39;/&#39;,
      components: {        default: Foo,
        a: SideBar,
        b: Header
      }
    }
  ]

               

相关推荐:

Vue.js之动态路由和命名视图

vue中命名视图

vue-router 路由基础简单介绍

Atas ialah kandungan terperinci 浅析Vue.js之动态路由以及命名视图. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn