activated
来源:1-9 Vue项目详情页 - 在项目中加入基础动画
陈立天
2020-10-26 22:32:20
# 具体遇到的问题
老师在课程中说这样可以处理这个问题,但是我不是很明白这个原理, 修改前为什么会导致这个问题,修改后为什么能解决这个问题,老师也没说..
修改前:
修改后:
destroyed是什么意思
# 报错信息的截图
# 相关课程内容截图
# 尝试过的解决思路和结果
# 粘贴全部相关代码,切记添加代码注释(请勿截图)
在这里输入代码,可通过选择【代码语言】突出显示
2回答
同学你好,问题解答如下:
1.原因视频中老师有讲解哦,是因为路由的缓存中,去除了Detail这个组件,所以就不能触发activated 和 deactivated 。可以固定记一下:当组件在 <keep-alive> 内被切换,它的 activated 和 deactivated 这两个生命周期钩子函数才会执行。
而mounted和destroyed是不受<keep-alive>影响的,组件有没有缓存,都可以触发。所以把activated 和 deactivated换成mounted和destroyed,页面滚动时的效果就能添加上了。
2.同学理解的是对的,destroyed是销毁的意思,离开当前这个组件,此组件就会销毁。如果加了<keep-alive>缓存,那么切换到另一个组件,当前组件不会销毁。不过上面说了,缓存中去除了Detail组件,所以当离开Detail这个页面时,Detail就会销毁了。
祝学习愉快~
陈立天
提问者
2020-10-26
destroyed 网上查询了一下说是vue实力被销毁的时候。。 那什么时候会被销毁?? 是关闭或者跳转到另外一个页面的时候意思就这个vue实力就会被销毁了么?就执行这个destroyed 生命周期函数么? 这样理解?
相似问题