请稍等 ...
×

采纳答案成功!

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

关于组件销毁的问题

老师您好,就是我们平时写业务逻辑会在beforedestroy中做一些事件的移除,对象的销毁工作。我有个问题是我们在当前组件this上绑定对象,在destroy中整个组件实例都被销毁了,是不是就间接的帮我们销毁了绑定的对象呀。我们还需要手动在before中处理吗

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

1回答

ustbhuangyi 2021-10-27 11:23:26

不一定喔,比如一些定时器对象,必须手动销毁的。

1 回复 有任何疑惑可以回复我~
  • 提问者 zhaobao1830 #1
    嗯,我回头再测试一下,老师还有几个问题想请教一下,1在patch过程中我们分析了是先插入子节点,先触发子节点的mounted钩子然后是父节点。所以反过来说父节点如果执行了mounted了子节点应该已经加载完毕了吧,可是vue官网文档上说不能保证子节点全部渲染好了,这个怎么解释呢。2在beforemount中从源码定义的位置上看还没有执行mountComponent,所以在这里应该无法访问子节点吧,不过我调试代码中如果单步执行在钩子中输出this就看不到子节点数组。如果删除debugger,在$children数组中是有组件对象的。这个好奇怪。。。
    回复 有任何疑惑可以回复我~ 2021-10-27 14:48:26
  • ustbhuangyi 回复 提问者 zhaobao1830 #2
    1. 新版本应该不会有这个问题了吧,除非子组件有异步组件
    2. 单步调试的状态是最准确的,log 输出数据如果对于引用类型的数据你在控制台看到的是最终状态的数据,而不是你 log 位置状态的数据
    回复 有任何疑惑可以回复我~ 2021-10-27 16:37:10

相似问题

登录后可查看更多问答,登录/注册

问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信