在写vue-router路由嵌套时,出现了这样的警告。
检查router文件下的index.js发现是父路由Hi有name属性。
当某个路由有子集路由的时候,这时候父级路由需要一个默认的路由,所以父级路由不能定义name属性。
import Vue from 'vue'
import Router from 'vue-router'
import HelloWorld from '../components/HelloWorld'
import Hi from '../components/Hi'
import Hi2 from '../components/Hi2'
import Hi3 from '../components/Hi3'
Vue.use(Router)
export default new Router({
routes: [
{
path: '/',
name: 'HelloWorld',
component: HelloWorld
},
{
path: '/hi',
name: 'Hi',
component: Hi,
children: [
{path: '/', component: Hi},
{path: 'hi2', component: Hi2},
{path: 'hi3', component: Hi3}
]
}
]
})
解决方法:去除父路由Hi的name属性。
export default new Router({
routes: [
{
path: '/',
name: 'HelloWorld',
component: HelloWorld
},
{
path: '/hi',
component: Hi,
children: [
{path: '/', component: Hi},
{path: 'hi2', component: Hi2},
{path: 'hi3', component: Hi3}
]
}
]
})