Javascript 如果使用嵌套管线,嵌套管线组件是否会是其父管线组件的子级?

Javascript 如果使用嵌套管线,嵌套管线组件是否会是其父管线组件的子级?,javascript,vue.js,vuejs2,vue-component,Javascript,Vue.js,Vuejs2,Vue Component,目前我有以下路线: { path: '/:username', component: Profile, children: [ { path: '', component: Map , name: 'Profile'}, { path: 'locations', component: Locations, name: 'Locations'}, { path: 'map', component: Map, name: 'Map'} ]}, 我需要一个标记:[]数组,它在

目前我有以下路线:

{ path: '/:username', component: Profile, children: [
    { path: '', component: Map , name: 'Profile'},
    { path: 'locations', component: Locations, name: 'Locations'},
    { path: 'map', component: Map, name: 'Map'}
]},
我需要一个
标记:[]
数组,它在
mounted()执行时从我的数据库中填充。此数组将用于
映射
位置
组件

这样做的最佳方式是什么。我可以:

  • 将属性
    标记:[]
    挂载()
    每个组件的本地状态,只需对每个组件执行axios调用
    组成部分。这意味着需要2次axios调用
  • 将属性
    标记:[]
    挂载()
    这两个组件的父组件的本地状态,然后向下支撑
    将数据传输到每个组件。这意味着1次axios调用,然后我只传递数据

但是,在第二种情况下,我不知道我是否能够用Props传递数据,因为我不确定嵌套路由中的组件是否实际上是父元素的子元素。

简短的回答是肯定的,如果您的配置文件包含路由器视图,您可以使用$parent访问标记或使用Props传递它:

const Profile=Vue.extend({
模板:`
配置文件{{markers}
`,
数据(){
返回{
标记:[]
}
},
安装的(){
//假负荷
设置超时(()=>{
this.markers=['A','B','C'];
}, 1000);
}
})
const Map=Vue.extend({
模板:`
映射{{$parent.markers}
`,
})
const Locations=Vue.extend({
道具:['markers'],
模板:`
位置{{markers}}
`,
})
常数路由=[{
路径:“/”,
重定向:“配置文件”
},
{
路径:'/:用户名',
组成部分:个人资料,
儿童:[{
路径:“”,
组成部分:地图,
名称:“个人资料”
},
{
路径:'位置',
构成部分:地点,
名称:“地点”
},
{
路径:“地图”,
组成部分:地图,
名称:“地图”
}
]
}
]
常量路由器=新的VueRouter({
路线
});
新Vue({
路由器,
el:“#应用程序”
})

轮廓
地图
位置