我有一个带父、子、子安装的vue路由器项目.
route.js
{ path: '/Student', component: Student,
children: [
{ path: 'CustomTasks', component: CustomTasks,
children: [
{ path: ':groupId', name: 'student.task.show', component: SubjectTask },
]
},
]
}Student.vue (parent)
<router-link to="/Student/CustomTasks"></router-link>
<div class="w-100">
<router-view :key="this.$route.params.groupId"></router-view>
</div>CustomTasks.vue (第一儿童)
<router-link to="/Student/CustomTasks/2"></router-link>
<router-link to="/Student/CustomTasks/3"></router-link>
<div class="w-100">
<router-view></router-view>
</div>SubjectTask.vue (第二儿童)
<h3 class="col-11">What's New{{ this.$route.params.groupId }}...</h3><br>问题:现在都能工作了,但是当你点击第一个孩子的路由器链接时,会重新加载第一个和第二个孩子的!而不是仅仅加载第二个孩子,你如何停止这个重新加载??

发布于 2020-06-24 14:57:14
我刚发现我有两个路由器视图的钥匙都有相同的id。换个名字就行了!
<router-view :key="this.$route.params.groupId" :pageName="pagename"></router-view>
<router-view :key="this.$route.params.CustomGroupId" :pageName="pagename"></router-view>发布于 2020-06-24 13:31:03
奇怪的是,您有两个路由器视图标记。通常,您将在具有菜单和导航链接的app.vue中创建模板,然后有路由器视图所在页面的“主体”,并将任何页面呈现到该区域。
“子”术语听起来像是另一个的子页面,你的嵌套路由器也暗示了这一点。然而,所有组件看起来都是分开的。如果你需要更多细节,可以提供截图吗?
如果你只是在扩展内容,选择第一层,显示第二层,选择第三层,那么你可能可以使用v-if或v- show,可能需要调用服务器来获取数据,但是如果没有确切的问题或需要解决的问题,很难做进一步的评论。
https://stackoverflow.com/questions/62555697
复制相似问题