// Vue 2 的生命周期钩子示例
new Vue({
el: '#app',
data() {
return {
message: 'Hello Vue!'
}
},
// 在实例初始化之后,数据观测 (data observer) 和 event/watcher 事件配置之前被调用。
beforeCreate() {
console.log('beforeCreate: 实例创建之前');
// 此时,data 和 methods 都未初始化,无法访问到 this.message 或 this.greet
},
// 在实例创建完成后被调用。此时实例已完成以下的配置:数据观测 (data observer),属性和方法的运算,watch/event 事件回调。
created() {
console.log('created: 实例创建完成');
// 现在可以访问到 this.message 和 this.greet
console.log(this.message);
},
// 在挂载开始之前被调用:相关的 render 函数首次被调用。
beforeMount() {
console.log('beforeMount: 挂载开始之前');
// 此时 template 已经编译为 render 函数,但还未渲染到页面上
},
// 在挂载完成后被调用:el 被新创建的 vm.$el 替换,并挂载到实例上去之后调用该钩子。
mounted() {
console.log('mounted: 挂载完成');
// 现在可以访问到真实的 DOM 元素了
},
// 数据更新时调用,发生在虚拟 DOM 打补丁之前。
beforeUpdate() {
console.log('beforeUpdate: 数据更新前');
// 此时可以访问到旧的 DOM 状态
},
// 由于数据更改导致的虚拟 DOM 重新渲染和打补丁,在这之后会调用该钩子。
updated() {
console.log('updated: 数据更新后');
// 现在可以访问到更新后的 DOM 状态
},
// 实例销毁之前调用。在这一步,实例仍然完全可用。
beforeDestroy() {
console.log('beforeDestroy: 销毁前');
// 这里可以进行一些资源清理工作
},
// 实例销毁后调用。此时 Vue 实例指示的所有东西都会解绑定,所有的事件监听器会被移除,所有的子实例也会被销毁。
destroyed() {
console.log('destroyed: 销毁后');
}
});
beforeCreate: 在实例初始化之后,数据观测 (data observer) 和 event/watcher 事件配置之前被调用。此时 data 和 methods 都未初始化,无法访问到 this.message 或 this.greet。
created: 在实例创建完成后被调用。此时实例已完成以下的配置:数据观测 (data observer),属性和方法的运算,watch/event 事件回调。现在可以访问到 this.message 和 this.greet。
beforeMount: 在挂载开始之前被调用:相关的 render 函数首次被调用。此时 template 已经编译为 render 函数,但还未渲染到页面上。
mounted: 在挂载完成后被调用:el 被新创建的 vm.$el 替换,并挂载到实例上去之后调用该钩子。现在可以访问到真实的 DOM 元素了。
beforeUpdate: 数据更新时调用,发生在虚拟 DOM 打补丁之前。此时可以访问到旧的 DOM 状态。
updated: 由于数据更改导致的虚拟 DOM 重新渲染和打补丁,在这之后会调用该钩子。现在可以访问到更新后的 DOM 状态。
beforeDestroy: 实例销毁之前调用。在这一步,实例仍然完全可用。这里可以进行一些资源清理工作。
destroyed: 实例销毁后调用。此时 Vue 实例指示的所有东西都会解绑定,所有的事件监听器会被移除,所有的子实例也会被销毁。
上一篇:vue中组件的props属性
Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3
Laravel 中文站