请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

组件销毁问题

  • 老师好~
  • 老师我在做父子组件生命周期关系的作业时,突然想起来我平时好像没怎么故意手动销毁一个组件,我尝试用v-if控制组件不显示,console只打印出了beforeUpdate和updated两个,并没有打印destory的生命周期,v-if控制的方式算销毁组件吗,我手动给元素绑事件,试图触发vm.$destory也就是this.$destory也不行,正确的销毁组件方式是什么呢?

正在回答 回答被采纳积分+3

2回答

提问者 Brannua 2020-05-09 15:36:38

再次修改data中的数据,使数据变为true,console打印如下

https://img1.sycdn.imooc.com//szimg/5eb65d82098d943503840170.jpg

1 回复 有任何疑惑可以回复我~
提问者 Brannua 2020-05-09 15:33:13

- 老师我的实现方式是这样的

```html   

<List v-if="notDestory" :list="list" @delete="deleteHandler" />

```

```js

data() {

    return {

        notDestory: true

    }

}

```

- 当我修改data数据为false,console如下

https://img1.sycdn.imooc.com//szimg/5eb65c430961488104580203.jpg

- 得出结论:子组件使用v-if控制了销毁,父子组件生命周期触发顺序如图所示,烦请老师给予点评,依然想听常用的正确销毁组件的方式,谢谢老师

1 回复 有任何疑惑可以回复我~
  • 双越 #1
    没有特殊需要的话,不用自己手动销毁。v-if 就是最常见的销毁方式。
    回复 有任何疑惑可以回复我~ 2020-05-09 16:50:42
  • 提问者 Brannua 回复 双越 #2
    明白!
    回复 有任何疑惑可以回复我~ 2020-05-09 16:54:39
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信