javascript - VueJS子级重新加载父级
问题描述
我有一个带有父、子、子设置的 vue-router 项目。
路由.js
{ path: '/Student', component: Student,
children: [
{ path: 'CustomTasks', component: CustomTasks,
children: [
{ path: ':groupId', name: 'student.task.show', component: SubjectTask },
]
},
]
}
学生.vue(父)
<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>
问题:现在它们都可以工作了,但是当您单击第一个孩子上的路由器链接时,它会重新加载第一个和第二个孩子!而不是只加载第二个孩子,你如何停止重新加载?
解决方案
您有两个路由器视图标签似乎很奇怪。通常你会在 app.vue 中创建你的模板,它有菜单和导航链接,然后有路由视图所在页面的“正文”,任何页面都被渲染到这个区域。
“子”术语听起来像是另一个的子页面,您的嵌套路由器也暗示了这一点。但是,这些组件看起来都是分开的。如果您需要更多详细信息,也许可以提供屏幕截图?
如果你只是在做扩展内容,选择第一级,显示第二,选择第二显示第三,那么你可能可以使用v-if或v-show,可能会涉及到调用服务器来获取数据,但很难在没有确切问题或要解决的问题的情况下进一步评论。
推荐阅读
- python - 如何将数据框列中的天数转换为熊猫中的整数?
- docker - 如何运行从 GitHub 包中提取的 Docker Compose 图像
- apache-spark - 仅对字符串 Hive 类型的分区键支持过滤
- node.js - 将 JSON 节点值替换为其特定子节点值之一 - 节点 JS
- api - 是否有讨论 Revit 2022 SDK 中的 WindowsWizard 文件的更新演练?也真的需要锻造吗?
- android - 具有多个接口实现的 Dagger Hilt
- c# - 如何使用powershell import-csv将csv数据导入sql
- github - vscode git 更改在完全展开时被卡住
- python - python:子图中的多个条形图
- nlp - 使用 TF-IDF 矩阵将语料库与一串单词匹配