vue路由出口 二次进入页面组件 不执行created和mounted生命周期钩子
页面调用一次接口,第二次缓存之前的数据,没有渲染页面;不会销毁再创建组件而是会复用组件,页面不会刷新。解决:方法一:实践成功官方推荐的使用watch监听路由变化,组件中监听注意:watch监听路由变化,我们的路由一定要有子路由,监听变化也紧局限在父子路由中,也就是我们这个路由一定要有子路由,在子路由跳转过程中会调用watch,能成功监听watch: {$route(to) {if (to.path
·
页面调用一次接口,第二次缓存之前的数据,没有渲染页面;
不会销毁再创建组件而是会复用组件,页面不会刷新。
解决:
方法一:实践成功
官方推荐的使用watch监听路由变化,组件中监听
注意:watch监听路由变化,我们的路由一定要有子路由,监听变化也紧局限在父子路由中,也就是我们这个路由一定要有子路由,在子路由跳转过程中会调用watch,能成功监听
watch: {
$route(to) {
if (to.path=='') {
...
}
}
},
方法二:实践成功
使用标签包裹,在页面添加actived钩子函数,将要执行的代码放入actived中。每次重新进入组件都会执行actived钩子
index.js
<keep-alive>
<router-view/>
</keep-alive>
页面组件中:
activated() {
this.delCartsListSync([]);
this.getCartList();
},
更多推荐
已为社区贡献1条内容
所有评论(0)