vue keep-alive 组件的共用组件被销毁

2021-05-13 00:04:27 +08:00
 yinggcy

router-view 的组件 A 和 B 共用一个组件 C,C 组件有个插槽,A 在 C 中插入了 D 组件。

经过测试,在 AB 组件中切换时,C 组件会执行 beforeDestroy 钩子,但 A 和 B 和 D 组件的钩子函数都不会重新执行。

如何不然 C 组件销毁? 谢谢!

1393 次点击
所在节点    Vue.js
3 条回复
yinggcy
2021-05-13 00:17:31 +08:00
试了下给 C 组件加 keep-alive,beforeDestroy 不会被触发,但是在 AB 组件间切换还会触发 created,mounted 等钩子
GressJoe
2021-05-13 11:09:10 +08:00
activated,deactivated?
yinggcy
2021-05-13 11:15:53 +08:00
@GressJoe 不是, 按道理说 created,mounted 等钩子函数整个生命周期应该只能触发一次, 但是因为 keep-alive 失效导致多次触发了

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/776601

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX