router-view使用同组件时不触发created或者mounted钩子

Chason
2021-05-04 / 0 评论 / 0 点赞 / 758 阅读 / 510 字
温馨提示:
本文最后更新于 2021-05-04,若内容或图片失效,请留言反馈。部分素材来自网络,若不小心影响到您的利益,请联系我们删除。

different router the same component vue。
真实的业务场景中,这种情况很多。比如
image.png

我创建和编辑的页面使用的是同一个component,默认情况下当这两个页面切换时并不会触发vue的created或者mounted钩子,官方说你可以通过watch $route的变化来做处理,但其实说真的还是蛮麻烦的。后来发现其实可以简单的在 router-view上加上一个唯一的key,来保证路由切换时都会重新渲染触发钩子了。这样简单的多了。

<router-view :key="key"></router-view>

computed: {
    key() {
        return this.$route.name !== undefined? this.$route.name + +new Date(): this.$route + +new Date()
    }
 }

原文链接:https://juejin.cn/post/6844903476661583880

0

评论区