Vue 深坑

127 阅读1分钟

Q: Mounted()不执行

描述:有一个页面A,初次进入页面A时Mounted执行,之后再回到A时,Mounted不执行

初步检查

发现在App.vue里用了 <keep-alive> + <router-view> 组件。

得出结论

页面A被缓存了,离开A页面时,A并没有被销毁。 所以第一次进入页面A触发了mounted。切到别的页面之后,再回A,A没有被重新创建,所以不会执行Mounted。

解决办法

这时候可以使用activated() 来替换Mounted,每当页面被展示的时候,都会触发activated函数