代码之家  ›  专栏  ›  技术社区  ›  CrazySynthax

vue路由器:如何在多个元素中使用view router?

  •  0
  • CrazySynthax  · 技术社区  · 6 年前

    <template>
      <div id="app">
        <router-view/>
      </div>
    </template>
    
    export default new Router({
      routes: [
        {
          path: '/',
          name: 'HelloWorld',
          component: HelloWorld
        }
      ]
    })
    

    据我所知,路由器视图的内容将由相关组件切换到路径。

    <template>
      <div id="app">
       <h1> header </h1>
        <router-view 1/>
        <h1> Inner </h1>
        <router-view 2/>
        <h1> Footer </h1>
      </div>
    </template>
    

    假设“路由器视图1”和“路由器视图2”都可以根据路径获得不同的组件。

    1 回复  |  直到 6 年前
        1
  •  3
  •   Toodoo    6 年前

    基于 official doc named-views .

    router-view 为同一路径呈现不同组件。

    以您的示例为例,它将变成:

    <template>
      <div id="app">
       <h1> header </h1>
        <router-view /> // this will be the default
        <h1> Inner </h1>
        <router-view name="inner"/>
        <h1> Footer </h1>
      </div>
    </template>
    

    您的路由器将如下所示:

    // Don't forget your imports
    const router = new VueRouter({
      routes: [
        {
          path: '/',
          components: {
            default: HeaderComponent, // Will render in default router-view
            inner: InnerComponent // Will render in router-view named "inner"
          }
        }
      ]
    })
    

    中还介绍了更复杂的布局 official doc .