Vue脚手架执行顺序
时间: 2024-02-05 22:08:38 浏览: 75
Vue脚手架的执行顺序如下:
1. 初始化阶段:
- beforeCreate:在实例初始化之后,数据观测和事件配置之前被调用。
- created:在实例创建完成后被立即调用。在这一步,实例已完成以下配置:数据观测、属性和方法的运算、watch/event事件回调。然而,挂载阶段还没开始,$el属性目前不可见。
2. 模板编译阶段:
- beforeMount:在挂载开始之前被调用。相关的render函数首次被调用。
- mounted:el被新创建的vm.$el替换,并挂载到实例上去之后调用该钩子。如果根实例挂载到了一个文档内的元素上,当mounted被调用时vm.$el也在文档内。
3. 更新阶段:
- beforeUpdate:数据更新时调用,发生在虚拟DOM重新渲染和打补丁之前。可以在该钩子中进一步地更改数据,不会触发附加的重渲染过程。
- updated:由于数据更改导致的虚拟DOM重新渲染和打补丁,在这之后会调用该钩子。
4. 销毁阶段:
- beforeDestroy:实例销毁之前调用。在这一步,实例仍然完全可用。
- destroyed:实例销毁后调用。该钩子被调用后,Vue实例指示的所有东西都会解绑定,所有的事件监听器会被移除,所有的子实例也会被销毁。
下面是一个示例代码,展示了Vue脚手架的执行顺序:
```javascript
new Vue({
el: '#app',
beforeCreate() {
console.log('beforeCreate');
},
created() {
console.log('created');
},
beforeMount() {
console.log('beforeMount');
},
mounted() {
console.log('mounted');
},
beforeUpdate() {
console.log('beforeUpdate');
},
updated() {
console.log('updated');
},
beforeDestroy() {
console.log('beforeDestroy');
},
destroyed() {
console.log('destroyed');
}
});
```
阅读全文