Vue中created与mounted区别 ?
created
和 mounted
都是 Vue 实例的生命周期钩子,它们在 Vue 实例的生命周期中的不同阶段被调用。
created
:在这个阶段,Vue 实例已经完成了以下的配置:数据观测(data observer),属性和方法的运算,以及$watch
事件驱动回调。然而,挂载阶段还没开始,$el 属性目前不可见。这意味着当created
钩子被调用时,DOM 结构还未生成,如果你需要在创建实例时就对 DOM 进行操作,那么这个时候就无法获取到 DOM 节点。
例如:
new Vue({
data: {
message: 'Hello Vue!'
},
created: function () {
console.log(this.message); // 输出 "Hello Vue!"
}
})
mounted
:在mounted
阶段,Vue 实例已经被挂载到了 DOM 上,可以直接访问到 DOM 元素。这就意味着当mounted
钩子被调用时,你可以操作(查询、添加事件等)DOM。
例如:
new Vue({
el: '#app',
data: {
message: 'Hello Vue!'
},
mounted: function () {
console.log(this.$el.textContent); // 输出 "Hello Vue!"
}
})
在这个例子中,mounted
钩子可以直接访问到 DOM 元素,而 created
钩子则不能。