路由标签之router-view理解

Vue 路由中的 <router-view/> 是用来承载当前级别下的子级路由的一个视图标签,此标签的作用就是显示当前路由级别下一级的页面。

例如:

#路由引入 desk.vue 此页面为基础页面,所有页面引入,负责系统的整体布局。

#desk页面分割完成后,将<router-view/>标签写入到实际渲染区域。

#视系统布局而定,左右布局在右侧,上中下布局在中间。

sys-router.js

import desk from '@/view/desk.vue'

export default [
	{
		path: '/login',
		name: 'login',
		component: () => import('@/view/login.vue')
	},
	{
		path: '/',
		name: 'home',
		redirect: '/index',
		component: desk,
		children: [
			{
				path: '/index',
				name: 'index',
				component: () => import('@/view/index.vue')
			}
		]
	}
 ]

desk.vue 页面渲染部分

<Content class="main-content-con">
  <Layout class="main-layout-con">
    <Content class="content-wrapper">
      <keep-alive>
        <router-view/>
      </keep-alive>
    </Content>
  </Layout>
</Content>

上面路由的 path="/index" 路径页面,直接被desk.vue 的 <router-view /> 所显示。

需要注意的是这个 <router-view /> 标签只能显示根目录下的下一级标签,如果子路由里又存在 children 路由块需要继续增加<router-view />标签,写法如下:

next-router.js

import desk from '@/view/desk.vue';
export default {
        path: '/router',
        name: 'router',
        component: desk,
        children: [
            {
                path: 'test-main',
                name: 'test-main', 
                component: () => import('@/view/router/test/main.vue'),
                redirect: { name: 'test-index' },
                children: [
                {
                    path: '',
                    name: 'test-index',
                    component: () => import('@/view/router/test/index.vue')
                },
                {
                    path:'test-add',
                    name:'test-add',
                    component: ()=> import('@/view/router/test/add.vue')
                }
                ]
          ]
}

由路由关系图可以看出来这个此路由需要两个 <router-view /> 承载 ,上面的写法是二级路由为 <router-view /> ,来显示三级路由,三级路由的页面铺满了二级路由的页面。

由页面源码可见

1、二级 <router-view class="sssssssssssssssssssssssss"/>

2、三级<router-view class="fffffffffffffffffffffff"/>

<div class="fffffffffffffffffffffff sssssssssssssssssssssssss"></div>

由此可得三级路由的显示必须在<router-view />的承载下,上面路由的转发写法是为了将三级路由的页面显示到二级路由。

记录一下学习过程。

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值