Vue-Router 第七节:命名视图

174 阅读1分钟

Vue-Router 第七节:命名视图

大多数情况,我们需要在一个组件里,展示多个路由视图,而不是嵌套显示。命名视图可以让我们实现一个组件中具有多个路由渲染出口,这对很多布局很有用,例如一般系统的首页(侧导航、主内容)。

目前我们router-view 没有设置名字,那么默认为default。下面来实操下:

// router/index.ts 页面
import About from '@/views/about/index.vue'
import { createRouter, createWebHistory, RouteRecordRaw } from "vue-router";
// 1、定义路由 每个路由都需要映射到一个组件。
const routes: Array<RouteRecordRaw> = [   
// router/index.ts  
    {
        path: '/',
        components: {                                      // 注意:component 改为 components
            default: import("@/views/home/index.vue"),    //  默认路由
            one: import("@/views/user/userOne.vue"),     //  命名One
            two: import("@/views/user/userTwo.vue")     //  命名TWO
        }
    }
    ]
const router = createRouter({
    // 路由的模式:  vue2:
    // vue2 mode  history | vue3  createWebHistory
    // vue2 mode  hash    | vue3  createWebHashHistory
    // vue2 mode  abstact | vue3  createMemoryHistory   
    history: createWebHistory(),
    routes
})
​
// 导出
export default router
// App.vue
 <template>
      <div>
        <router-view />
        <router-view name='one' />
        <router-view name='two' />
      </div>
    </template>

打开页面:

1712894033893.jpg