vue使用$router.push()或者$router.go(),重新返回上一页不走生命周期

是因为在App.vue中,vue路由(router-view)组件使用路由缓存组件(keep-alive)包裹着,导致不重新走生命周期,这样可以提高运行效率,但有时候,我们需要重新加载生命周期刷新数据。

解决方案:

在router-view组件中添加key值,唯一标识;

我建议你可以给指定页面添加随机的指定标识就行,比如,我下面在计算属性中做了判断,当this.$route.name等于‘home’的时候,每次生成的key值都不一样,达到重新走生命周期的效果,其它页面还是走缓存;




你可能感兴趣的:(vue.js,前端,javascript)