// Vue 2 钩子函数示例代码
new Vue({
el: '#app',
data: {
message: 'Hello Vue!'
},
// 在实例初始化之后,数据观测 (data observer) 和 event/watcher 事件配置之前被调用。
beforeCreate: function () {
console.log('beforeCreate: 实例刚刚被创建,此时还没有挂载到DOM上,data和methods都还未初始化。')
},
// 在实例创建完成后被调用。此时实例已完成以下的配置:数据观测 (data observer),属性和方法的运算,watch/event 事件回调。然而,挂载阶段还没开始,$el 属性目前不可见。
created: function () {
console.log('created: 实例已经创建完成,data和methods都已经初始化,但仍然没有挂载到DOM上。')
},
// 在挂载开始之前被调用:相关的 render 函数首次被调用。
beforeMount: function () {
console.log('beforeMount: 实例即将开始挂载,render函数首次被调用,此时可以访问到data和methods,但是DOM还没有生成。')
},
// el 被新创建的 vm.$el 替换,并挂载到实例上去之后调用该钩子。如果 root 实例挂载了一个文档内元素,当 mounted 被调用时 vm.$el 也在文档内。
mounted: function () {
console.log('mounted: 实例已经挂载到DOM上了,此时可以通过this.$el访问到真实的DOM节点。')
},
// 数据更新时调用,发生在虚拟 DOM 打补丁之前。这里适合在更新之前访问现有的 DOM,比如手动移除已添加的事件监听器。
beforeUpdate: function () {
console.log('beforeUpdate: 数据更新时调用,发生在虚拟DOM打补丁之前,此时可以访问到旧的DOM。')
},
// 由于数据更改导致的虚拟 DOM 重新渲染和打补丁,在这之后会调用该钩子。当这个钩子被调用时,组件 DOM 已经更新,所以你现在可以执行依赖于 DOM 的操作。
updated: function () {
console.log('updated: 数据更新后,虚拟DOM重新渲染和打补丁完成,此时可以访问到新的DOM。')
},
// 实例销毁之前调用。在这一步,实例仍然完全可用。
beforeDestroy: function () {
console.log('beforeDestroy: 实例即将被销毁,此时实例仍然完全可用,可以在这里做一些清理工作,例如解绑自定义事件监听器等。')
},
// Vue 实例销毁后调用。调用后,Vue 实例指示的所有东西都会解绑定,所有的事件监听器会被移除,所有的子实例也会被销毁。
destroyed: function () {
console.log('destroyed: 实例已经被销毁,所有绑定、监听器和子组件都被移除。')
}
});
这段代码展示了 Vue 2 中常用的生命周期钩子函数,并附有简要说明。每个钩子函数在特定的生命周期阶段被调用,可以帮助开发者更好地控制和理解应用的行为。
上一篇:vue 悬浮按钮
下一篇:vue 安装依赖
Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3
Laravel 中文站