vue2里一共有11个生命周期函数,从vue创建、运行、到销毁总是伴随着各种事件,这些事件就称为生命周期.
分别是创建、挂载、更新到销毁
【常用的】
⑴【beforecreate】实例创建前。
vue完全创建之前,会自动执行这个函数。
⑵【Created】实例创建后。
这也是个生命周期函数,beforecreate执行完后会自动执行它。其中data的值是由在created中请求并初始化的。
⑶【beforemount】组件挂载前。
模板即将挂载到页面的一瞬间会执行beforemount
⑷【Mounted】组件挂载后
挂载完成,也就是模板中的html渲染到了html页面中,此时一般可以做一些ajax操作。
mounted只会执行一次。
⑸【beforeupdate】视图更新前
数据发生改变,还没有渲染之前beforeupdate会执行
⑹【updated】视图更新后
当数据更新完重新渲染时,updated这个函数会执行。
⑺【beforedestroy】失礼销毁前
钩子函数在实例销毁之前调用。在这一步,实例仍然完全可用。
⑻【Destroy】实例销毁后
做收尾工作,在结束之后做一些事情,比如定时器和全局更新要在这里销毁。
【不常用】
⑼①【activeted】被keep-alive缓存的组件激活时调用
⑽②【deactiveted】 没有被激活时调用
⑾③【errorCaotured】捕捉子组件的错误时调用⑴
如果不想让它报错就return false(不推荐)
⑴【beforecreate】------->【setup】 开始创建组件前,创建的是data和method
Create------- >【setup】
setup 这个函数是在beforeCreate和created之前运行的,所以你可以用它来代替这两个钩子函数。
⑵【beforemount】------- >【onBeforeMount】组件挂载前
在挂载开始之前被调用,相关的render函数首次被调用。
⑶【Mounted】------- >【onMount】组件挂载后
el被新创建的vm.$el替换,并挂载到实例上去之后调用该钩子。
⑷【beforeupdate】------- >【onBeforeUpdate】视图更新前
数据发生改变,还没有渲染之前beforeupdate会执行
数据发生改变时调用,你可以在这个钩子中进一步地更改状态,还不会触发附加的重渲染效果。
⑸【updated】------- >【onUpdate】视图更新后
由于数据更改导致的虚拟dom重新渲染和打补丁,在这之后后调用该钩子
当这个钩子被调用时,组件 DOM 已经更新,所以你现在可以执行依赖于 DOM 的操作。然而在大多数情况下,你应该避免在此期间更改状态,因为这可能会导致更新无限循环。
该钩子在服务器端渲染期间不被调用
⑹【beforedestroy】------- >【onBeforeUnmount】卸载组件实例之前
视图销毁前调用,在这一步,实例仍然完全可用
⑺【Destroyed】------- >【onUnmount】卸载组件实例之后
vue实例销毁后调用,调用后,vue实例指示的所有东西都会绑定,所有的事件监听器会被移除,所有的子实例也会被销毁。该钩子在服务器端渲染期间不被调用。
cpmputed:{} 需要return出返回值,直接使用函数名就可以获取返回值。使用methods进行计算在使用时,需要定义函数才可以获取反回值。
监听属性如果是一个值的话直接用函数就可以了,否则开启深度监听
newval新值,oldval
watch:{
num(newval,oldval) { }
}
watch:{
handler(newval,oldval) { },
deep:true ///开启深度监听
immediate:true ///
}
循环v-for 判断v-if v-show 插值 v-html v-text 绑定属性v-bind 双向数据绑定 v-model
JQuery里改变属性值用 $('.a').attr('name',1).jqrey 改属性值