生命周期:
一个组件从实例化创建它开始一直到结束的整个过程
生命周期中涉及到很多的方法
new Vue()实例当前vue对象
没有创建Vue对象之前就已经拥有beforeCreate,没有将vue对象创建出来时可以调用这个方法
可以做的事情:加载动画
随后进入created方法里面,这个时候实例已经出来,组件已经创建好,属性也被成功的绑定了,但是dom还没有生成。
可以做的事情:获取对应的数据,比如请求网络的接口。结束上个beforeCreate里的加载动画,准备渲染dom
再往下走就可以展示dom了.
执行完created方法以后,页面还没展示出来。
继续往下走,它会来看一下当前有没有element--->main.js中的el,有的话会检查一下template这个选项你有没有,
如果没有的话,它会检查另一个东西,.$mount("#app"),与el两者有其一就行,如果都没有,生命周期就结束了。
两者有一个后检查template,如果有template,分两种情况:
1.template:"<App/>"
template当中会执行一个具体的组件,如App,有这个组件以后执行一个rund方法,来渲染当前template里面的内容
2.里面不是一个组件的话,里面可以给对应的一些标签,如:
template:‘
<div id="app">
<h1>Hello</h1>
</div>
’
如两种都没有,生命周期也已经结束了,因为没有可以渲染的东西,不会往下执行
有一个后进入下一个钩子函数,beforeMount
Mount-->挂载
开始编译当前的模板了(template的内容),在虚拟dom当中执行,还并不能看到对应的内容,只是将这个东西挂载,但是还没挂载上去,没有真实
的将内容渲染到页面上。
可以做的事情:可以做一些基础的工作,将内容往模板里面放
执行完后到了另一个函数:mounted,此时模板已经编译完,编译完开始挂载了,这个方法一旦结束,页面就显示出来了。
所以有些东西想在页面显示出来后执行,可以写在这个方法里面。如从后台获取数据。
看到内容后接下来就是对项目的一些更改(增删改查)
更改有两种
1.beforeUpdate:当前组件在更新之前需要调用的钩子函数
如果想在更新之前还想做一些事情的话可以在这个方法里面去实现
2.Updated:当前组件在更新完成后需要调用的钩子函数
如果想在当前组件当中发生一些改变的话,需要调用Updated这个钩子函数
接下来进入当前组件实例化对象生命周期的尾部
beforeDestroy销毁之前的钩子函数
destroyed销毁之后的钩子函数
VUE生命周期
最新推荐文章于 2022-08-19 16:24:09 发布