【发布时间】:2020-08-18 14:58:20
【问题描述】:
我想用它的子路由创建一个嵌套路由。
基本上我想要的是,
https://localhost/contact 渲染 ContactList 组件。
https://localhost/contact/add 渲染 ContactAdd 组件。
我试过的是:
let Layout = {
template: '<div>Layout Page <router-view></router-view></div>'
};
let Home = {
template: '<div>this is the home page. Go to <router-link to="/contact">contact</router-link> </div>'
};
let ContactList = {
template: '<div>this is contact list, click <router-link to="/contact/add">here</router-link> here to add contact</div>'
};
let ContactAdd = {
template: '<div>Contact Add</div>'
}
let router = new VueRouter({
routes: [{
path: '/',
redirect: 'home',
component: Layout,
children: [{
path: 'home',
component: Home
},
{
path: 'contact',
component: ContactList,
children: [{
path: 'add',
component: ContactAdd
}]
},
]
}]
});
new Vue({
el: '#app',
components: {
'App': {
template: '<div><router-view></router-view></div>'
},
},
router
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/vue/2.5.17/vue.js"></script>
<script src="https://unpkg.com/vue-router@3.0.1/dist/vue-router.js"></script>
<section id="app">
<app></app>
</section>
在这里,问题是当我将路由从/client 更改为/client/add 时,视图不会呈现。这里嵌套的儿童路线有什么问题?如何解决这个问题?
我查看了此文档 https://router.vuejs.org/guide/essentials/nested-routes.html,但在这种情况下没有帮助。
【问题讨论】:
标签: vuejs2 vue-router