六、Vue Router 嵌套路由

嵌套路由

在入口模板中设置的<router-view>是最顶层的出口。子组件中可以嵌套<router-view>为子路由匹配的出口。

const User = {
    template: `
        <div class="user">
            <h2>User {{ $route.params.id }}</h2>
            <router-view></router-view>
        </div>
    `
}

要在嵌套的出口中渲染组件,则需要在VueRouter的参数中配置children

<script>
    const router = new VueRouter({
        routes: [
            {
                path: '/user/:id',
                component: User,
                // 自路由配置
                children: [
                    // 当 /user/:id/profile 匹配成功
                    // 则会在子路由出口中渲染 UserProfile 组件
                    { path: 'profile', component: UserProfile }
                ]
            }
        ]
    });
</script>

注意: 在子路由中 /开头的嵌套路径会被当作根路径。如果你要实现/user/123,在子路由配置路径时就不能带有/。如果有/,则匹配为 /123

在子路由中,必须提供一个空路径的子路由。这样当你匹配父路由的路径时,空的子路由组件会被渲染,否则不会

原文地址:https://www.cnblogs.com/yuxi2018/p/11967270.html

时间: 2024-07-29 21:24:08

六、Vue Router 嵌套路由的相关文章

vue基础——嵌套路由

嵌套路由是非常常用的,一开始没仔细看过文档的时候踩过小坑,一是子路由的path里,不要加/了,直接写子路由的部分,路由的前半部分是直接从父路由中继承到了,二是对<router-view></router-view>组件渲染位置的理解 参考文档:https://router.vuejs.org/zh/guide/essentials/nested-routes.html 原文地址:https://www.cnblogs.com/chaoyueqi/p/10244503.html

vue中嵌套路由

<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta http-equiv="X-UA-Compatible" con

vue router动态路由

<div id="#app"> <router-link to="/user/header">路由1</router-link> /*指向user组件*/ <router-link to="/user/footer">路由2</router-link> /*指向user组件*/ /*当我们点击路由1得时候*/ /*------当我们点击路由2得时候*/ <router-view&g

Vue router 全局路由守卫

记录一下全局路由守卫的使用: 方法一:定义一个数组用于检测与管理需要登录的页面,全局路由守卫配合本地存储判断是否跳转 import Vue from 'vue' import Router from 'vue-router' import store from './../store' import Home from 'components/home/home' // 主页组件 // 其它组件... import Cart from 'components/cart/cart' // 购物车组

九、Vue Router 进阶-路由元信息meta

路由元信息 meta 在路由列表中,每个路由都有一个 meta元数据字段,我们可以在这里配置一些自定义信息,供页面组件或路由钩子函数中使用.在路由跳转的时候,提供我们判断条件. <script> // 配置 meta 数据 const router = new VueRouter({ routes: [ { path: '/', name: 'index', // 路由名称 component: index, // 映射的组件 meta: { title: '首页' } } ] }); <

vue router 导入方式

vue router 的路由导入方式可用以下两种: 一:直接导入 import Hello from '@/components/Hello' @是在webpack.base.conf.js 配置: resolve: { extensions: ['.js', '.vue', '.json'], alias: { 'vue$': 'vue/dist/vue.esm.js', '@': resolve('src') } } 二 :路由懒加载方式 当打包构建应用时,Javascript包会变得非常大

VUE温习:nextTick、$refs、嵌套路由、keep-alive缓存、is特性、路由属性用法、路由钩子函数

一.$nextTick 1.vue的dom执行异步更新,只要观察到数据变化,vue将开启一个队列,并缓冲在同一事件循环中发生的所有数据改变. 2.vue.$nextTick(cb),数据发生变化,更新dom后执行回调 二.$refs用法 1.ref作用于普通元素——得到dom节点 2.ref作用于子组件——得到组件实例,可使用组件所有方法 3.当v-for用于元素或组件的时候,refs将是包含dom节点或组件实例的数组(想得到单个的ref,只需循环即可) 三.vue组件hover事件模拟 1.m

vue嵌套路由

在实际项目中我们会碰到多层嵌套的组件组合而成,但是我们如何实现嵌套路由呢?因此我们需要在 VueRouter 的参数中使用 children 配置,这样就可以很好的实现路由嵌套. index.html,只有一个路由出口 1 <div id="app"> 2 <!-- router-view 路由出口, 路由匹配到的组件将渲染在这里 --> 3 <router-view></router-view> 4 </div> main.

vue 嵌套路由,router-link-active的问题

最近开发的过程中,遇到一个嵌套路由的问题,需求是这这样的, 首页三个路由   a    b    c 路由写法是 export default new Router({ routes: [ // { // path: '/', // component: '' // }, // { // path: '/history-grade', // component: '' // }, { path: '/source-setting', component: setting, children: [