vue-router嵌套/二级路由+视图路由(children)
一、嵌套路由(配置好父路由component后,在父路由中添加children属性来配置这个父路由的子路由)需要注意的是:父组件中的<router-view></router-view>是子组件的占位符是必不可少的,与子路由链接<router-link>在同一个组件中嵌套路由的现象:点击了子路由跳转之后父路由组件的内容一直呈现;子路由的内容进行切换,地址...
·
一、嵌套路由/二级路由(配置好父路由component后,在父路由中添加children属性来配置这个父路由的子路由)
需要注意的是:父组件中的<router-view></router-view>是子组件的占位符是必不可少的,与子路由链接<router-link>可在同一个组件中
嵌套路由的现象:点击了子路由跳转后父路由组件的内容一直呈现;子路由的内容进行切换,地址栏的路径也随之改变。
redirect父路由上添加,浏览器访问/nest,会默认展示/nest/son1子的内容
此时,基于上面的配置,当你访问 /nest
时,nest
的出口是不会渲染任何东西,这是因为没有匹配到合适的子路由。如果你想要渲染点什么,可以提供一个 空的 子路由:
// 嵌套路由
{
path: '/nest',
component: () => import('@/nest/nest'),
// redirect: 'son1', // 重定向到son1
// 嵌套路由的关键字children,在父路由中添加children数组 中添加子路径
children:[
// nest_son1会被渲染在 nest的 <router-view> 中
{ path: '', component: () => import('@/nest/nest_son1')}
{
// 要注意,以 / 开头的嵌套路径会被当作根路径,这让你充分的使用嵌套组件而无须设置嵌套的路径。如果这里的path的值为'/son1将无法渲染son1子组件'
path: 'son1',
component: () => import('@/nest/nest_son1')
},
]
}
上面子路由中加不加‘/’ 的区别:当点击son1的时候加 ‘/’会在地址栏中显示 #/son1;不加 ‘/’的时候回在地址栏中显示 #/nest/son1
注意:/xx
就是根路径
效果:
若有不足请多多指教!希望给您带来帮助!
更多推荐
已为社区贡献30条内容
所有评论(0)