V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
yinggcy
V2EX  ›  Vue.js

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

  •  
  •   yinggcy · 2021-05-13 00:04:27 +08:00 · 1541 次点击
    这是一个创建于 1294 天前的主题,其中的信息可能已经有所发展或是发生改变。

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

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

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

    3 条回复    2021-05-13 11:15:53 +08:00
    yinggcy
        1
    yinggcy  
    OP
       2021-05-13 00:17:31 +08:00
    试了下给 C 组件加 keep-alive,beforeDestroy 不会被触发,但是在 AB 组件间切换还会触发 created,mounted 等钩子
    GressJoe
        2
    GressJoe  
       2021-05-13 11:09:10 +08:00
    activated,deactivated?
    yinggcy
        3
    yinggcy  
    OP
       2021-05-13 11:15:53 +08:00
    @GressJoe 不是, 按道理说 created,mounted 等钩子函数整个生命周期应该只能触发一次, 但是因为 keep-alive 失效导致多次触发了
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1063 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 26ms · UTC 22:34 · PVG 06:34 · LAX 14:34 · JFK 17:34
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.