遇到个bug,分享下。
在Home.vue组件里,写了2个router-link,跳转到2个子路由(已注册)
首页
新闻
消息
但是测试发现,点击router-link无反应,地址也不改变,但是to的地址随便改成个未注册的,地址却能够改变(由于未注册,点击后页面空白)。
最后发现,是该Home.vue组件是用代码片段快速生成的,该组件内默认写了beforeRouteUpdate() {}(组件路由卫士),在路由更新前,被拦截了。只需将其注释掉即可.
export default {
name:"Home",
components: {},
props: {},
data() {
return {
};
},
computed: {},
methods: {
},
filter: {},
watch: {},
created() {},
mounted() {},
activited() {},
update() {},
// 组件路由卫士,注释掉即可
beforeRouteUpdate() {},
};
另外,写路由常见的错误还有:
1、有没有写;
2、配置子路由,children: 内的地址前不加斜杠 /;
3、router-link标签内子路由地址要写全,如新闻;
4、配置路由,component没有s