生命周期示意图
值得注意的几个钩子函数
activated
-
类型:
Function
-
详细:
keep-alive 组件激活时调用。
该钩子在服务器端渲染期间不被调用。
-
参考:
deactivated
-
类型:
Function
-
详细:
keep-alive 组件停用时调用。
该钩子在服务器端渲染期间不被调用。
-
参考:
updated
-
类型:
Function
-
详细:
由于数据更改导致的虚拟 DOM 重新渲染和打补丁,在这之后会调用该钩子。
当这个钩子被调用时,组件 DOM 已经更新,所以你现在可以执行依赖于 DOM 的操作。然而在大多数情况下,你应该避免在此期间更改状态。如果要相应状态改变,通常最好使用计算属性或 watcher 取而代之。
注意
updated
不会承诺所有的子组件也都一起被重绘。如果你希望等到整个视图都重绘完毕,可以用 vm.$nextTick 替换掉updated
:updated: function () {
this.$nextTick(function () {
// Code that will run only after the
// entire view has been re-rendered
})
}该钩子在服务器端渲染期间不被调用。
一般情况下,如果采用 jQuery 对加载完成的元素进行处理时,可以将代码写入此钩子函数中则比较适宜。如:内容页中的图片过大,我们可以将所有图片加上一个 .img-responsive 的 class,利用 BootStrap 的便利性,让图片的显示更加的符合我们的期望。