初学Vue.js,在生命周期钩子这里有点犯迷糊~ 按照官网教程做个整理,就当是记笔记了;
每个 Vue 实例在被创建时都要经过一系列的初始化过程——具体怎么的过程并没有理解的很清晰,但起码知道 Vue实例创建之前,把Vue实例挂载到DOM对象上,修改data对象属性值等等 都是某个阶段;
嘛,反正在这个过程中也会运行一些叫做生命周期钩子的函数,给了用户在不同阶段添加自己的代码的机会。
具体怎么体现的也云里雾里,按照教程写了组代码:
<body>
<div id="app">
{{ msg }}
</div>
<script>
var dataArea = {
msg: "巴茹真者"
};
var vm = new Vue({
el: '#app',
data: dataArea,
//在实例初始化之后,数据观测(data observer)和 event/watcher 事件配置之前 被调用
beforeCreate:function(){
console.log("beforeCreate");
},
//在实例创建完成之后立即被调用
/*
在这一步,实例已完成以下的配置,数据观测,属性和方法的运算,watch/event事件回调
然而,挂载阶段还未开始,即$el 目前不可见
*/
created:function(){
console.log("created");
},
//在挂载开始之前被调用:相关的渲染函数首次被调用
beforeMount:function(){
console.log("beforeMount");
},
//el 被新创建的 vm.$el 替换 —— 挂载成功
mounted:function(){
console.log('mounted');
},
//数据更新时调用
beforeUpdate:function(){
console.log("beforeUpdate");
},
//组件DOM已经更新,组件更新完毕
updated:function(){
console.log("updated");
}
});
setTimeout(function(){
vm.$data.msg = '囧侠客';
},3000);
</script>
</body>
嘛,虽然不是很明白,但感觉好歹能理解一点点皮毛…尽管这只是一部分 ;
anyway,附上一张从官网偷来的图(看的费劲,但听说很有用emmmmm)