Javascript 未通过Vuejs上的路由器链接传递参数
我试图通过Vuejs上的路由器链接将属性传递给组件,但该组件未正确接收属性。我有一个主菜单和一个辅助菜单,当单击主菜单按钮时,我想在其中传递属性:Javascript 未通过Vuejs上的路由器链接传递参数,javascript,vue.js,Javascript,Vue.js,我试图通过Vuejs上的路由器链接将属性传递给组件,但该组件未正确接收属性。我有一个主菜单和一个辅助菜单,当单击主菜单按钮时,我想在其中传递属性: const Sidebar = { name:'sidebar', template:` <div> Sidemenu <router-link v-for="route in routes" v-key="route" :to="route">{{route}}</router-link&
const Sidebar = {
name:'sidebar',
template:`
<div>
Sidemenu
<router-link v-for="route in routes" v-key="route" :to="route">{{route}}</router-link>
</div>`,
props: {
routes:{
type: Array,
required: true,
default: function(){return []}
}
}
}
const AppMenu = {
name:'app-menu',
template:`
<div>
<router-link :to="{name:'project', params:{routes: projectMenus}}">Project</router-link>
<router-link :to="{name:'assets', params:{routes: assetsMenus}}">Assets</router-link>
</div>`,
data: function(){
return{
projectMenus: ['overview', 'settings'],
assetsMenus: ['landscapes', 'characters']
}
}
}
const App = {
template:`
<div>
<app-menu/>
<router-view name="sideview"/>
<router-view name="sectionview"/>
</div>`,
components:{AppMenu}
};
const Routes= [
{path: '/', name:'home', redirect: 'project'},
{path:'/project', name:'project', components:{sideview:Sidebar}, props:{sideview:true}},
{path:'/assets', name:'assets', components:{sideview:Sidebar}, props:{sideview:true}}
]
侧栏组件正在呈现,因为我可以看到页面上的侧菜单,但控制台在侧栏上抛出[Vue warn]:缺少必需的道具:路线,因此我的子菜单链接不显示。我搜索过文档,在很多论坛上也搜索过很多类似的问题,但是我找不到我做错了什么 将道具作为vue管线定义中的对象时,它将替换组件道具。您将它们设置为{sideview:true},这将覆盖侧边栏组件中的所有道具
至少这是我从中了解到的,这是我做的第一件事,直接在路由定义上传递参数,但由于某些原因,它无法正常工作。Tnx