vue嵌套路由的匹配规则是怎么样的?
路由:
{
path: "/",
name: "Home",
component: Home,
children: [
{
path: "news",
name: "news",
component: () => import("../views/News.vue"),
},
{
path: "contact",
name: "contact",
component: () => import("../views/Contact.vue"),
},
],
},
{
path: "/about",
name: "About",
component: () => import("../views/About.vue"),
},
Home 组件:
<template>
<div class="home">
<p>这里是Home</p>
<router-view name="news"></router-view>
<router-view name="contact"></router-view>
</div>
</template>
News.vue:
<template>
<div class="news">这里是新闻列表部分</div>
</template>
<script>
export default {
name: "News"
};
</script>
<style scoped>
.news {
border: 1px solid #ccc;
background-color: coral;
}
</style>
Contact.vue:
<template>
<div class="contact">联系信息</div>
</template>
<script>
export default {
name: "Contact"
};
</script>
<style scoped>
.contact {
border: 1px solid #ccc;
background-color: burlywood;
}
</style>
为什么访问 localhots:8000/news
的时候不是渲染 News.vue 组件?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
你
Home
里面的router-view
设置了name
是 命名视图,news
这个children-route
挂载在默认default
上,需要挂载在对应name
上才能正确渲染