Skip to content

[vue] vue组件会在什么时候下被销毁? #445

Open
@haizhilin2013

Description

@haizhilin2013
Collaborator

[vue] vue组件会在什么时候下被销毁?

Activity

maozhuo123

maozhuo123 commented on Jul 3, 2019

@maozhuo123

v-if=‘false‘

Yanhua67

Yanhua67 commented on Aug 1, 2019

@Yanhua67

没有使用keep-alive时的路由切换。

chenjinWeb

chenjinWeb commented on Aug 27, 2019

@chenjinWeb

路由跳转的时候!

w245607930

w245607930 commented on Jun 9, 2020

@w245607930

页面关闭、路由跳转、v-if和改变key值

hyj443

hyj443 commented on Oct 27, 2021

@hyj443

v-if绑定的值变为falsy的时候

路由跳转,默认会销毁上一个组件,router.push、go、replace都会走销毁的钩子
如果想保留原组件数据,就加 包裹,会缓存不活动的组件实例,而不是销毁它们。

改变key值
vue的patch原理是要先判断新旧vnode是否描述的是同一个vnode,它是根据vnode的类型(即元素类型)和key值判断的,是同一个vnode,才会用diff算法进行比对更新
如果key改变了,那就意味着新旧vnode是两个独立不相同的组件,就会把旧的组件销毁,重新创建组件

wanlixi

wanlixi commented on Apr 8, 2022

@wanlixi

还有父组件销毁后子组件也会被销毁

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

      Development

      No branches or pull requests

        Participants

        @haizhilin2013@w245607930@wanlixi@chenjinWeb@maozhuo123

        Issue actions

          [vue] vue组件会在什么时候下被销毁? · Issue #445 · haizlin/fe-interview