我有一个页面,使用命名视图<router-view/>
同时显示多个页面。
这很好用,但是我还需要向每个视图添加子级,但不知道如何做到这一点。
这是有关我的布局的更多详细信息。
vue主要组件:
<template>
<div>
<router-view name="files"/>
<router-view name="forms"/>
<router-view name="tools"/>
</div>
</template>
...
路由器:
let router = new Router({
path: ':resourceTab',
name: 'Resources',
components: {
files: FilesMain,
forms: FormsList,
tools: ToolsList,
},
props: true,
})
new Vue({
el: '#app',
router: router,
store,
render: h => h(App)
})
这是我想要完成的事情:
{
path: ':resourceTab',
name: 'Resources',
components: {
files: {component: FilesMain, children: [{path: file/:fileId}] <- Just made up this syntax to show the idea. How to accomplish something like this?
forms: FormsList,
tools: ToolsList,
},
props: true,
}
目前我通过添加更多类似下面的路径来做到这一点,但这只会产生冗余,我必须每次都传递“resourceTab”的值:
{
path: 'files',
name: 'Resources',
components: {files: FilesMain},
children:[{path: file/:fileId}]
props () => {resourceTab: "files"},
},
{
path: 'forms',
name: 'Resources',
components: {forms: FormsList},
children:[{path: forms/:formId}]
props () => {resourceTab: "forms"},
}
...etc
在这种动态布局中组织子视图有更好的方法吗?