laravel - 子路由仍然只加载父组件
问题描述
所以我正在尝试创建一个包含子路由的设置页面。例如,我想要 /settings/user,然后是 /settings/branches 等。但是,每次我加载 /settings 或其任何子路由时,它只显示父 Settings 组件。
这是我的 routes.js 文件
// Imports
import Vue from 'vue';
import VueRouter from 'vue-router';
import Store from './store';
// Set to use
Vue.use(VueRouter);
// Views
import Home from './views/Home/';
import UserIndex from './views/UserIndex';
// Grab Routes
import Settings from './routes/Settings'
// Create our routes
const routes = [
{
path: '/',
name: 'home',
component: Home,
},
{
path: '/users',
name: 'users.index',
component: UserIndex,
},
].concat(Settings);
这是我的 Settings.js(稍后在我的主路由文件夹中联系)
// Routes for /Settings/
import Settings from '../views/Settings/';
import Branches from '../views/Settings/Branches';
const routes = [
{
path: '/settings',
name: 'settings',
component: Settings,
children: [
{
name: 'branches',
path:'branches',
component: Branches
}
]
}
]
export default routes;
/views/settings/Branches.vue
<template>
<div>
<p>Branches page</p>
</div>
</template>
<script>
export default {
components: {
}
}
</script>
/views/settings/index.vue
<template>
<div>
<p>settings page</p>
</div>
</template>
<script>
export default {
components: {
}
}
</script>
解决方案
只需包含<router-view></router-view>
到设置页面,这样它就可以呈现自己的孩子。然后您可以通过/settings/branches
链接导航到它。
<template>
<div>
<p>Settings page</p>
<router-view></router-view>
</div>
</template>
推荐阅读
- python - 如何在 Visual Studio 代码中打开 python 文件?
- zimbra - 如何隐藏在 GAL zimbra 帐户中
- mongodb - 引用 ServiceStack.Authentication.MongoDb.MongoDbAuthRepository 版本 2.10.3 时出现错误“需要强命名程序集”:
- azure - Azure:在应用服务中使用从 Key Vault 获得的证书时出错
- r - R安装'png'无法加载共享对象
- java - 将 SimpleDateFormat 解析为“yyyy-MM-dd”的日期没有以适当的方式工作
- django - 如何使用 Django ORM 按值或 null 的存在进行排序
- c++ - 使用 next_permutation 获取长度为 N C++的所有组合
- c# - 如何从浏览器 Selenium C# 中读取 pdf 内容
- python - 文本框冲突