vue2.0生命周期

image

  1. beforeCreate 此时$el、data 的值都为undefined
  2. create之后,此时可以拿到data的值,但是$el依旧为undefined
  3. beforeMount 此时$el的值为“虚拟”的元素节点
  4. mount之后,mounted之前,“虚拟”的dom节点被真实的dom节点替换,并将其插入到dom树中,于是在触发mounted 时,可以获取到$el为真实的dom元素

created、mounted、activated、deactivated

这四个是最常用到的部分。这部分需要注意下,当引入keep-alive的时候,页面第一次进入,钩子的触发顺序created-> mounted-> activated,退出时触发deactivated。当再次进入(前进或者后退)时,只触发activated。

参考:http://xiangsongtao.com/article/5853b2c0044bf1353af82fbf http://www.jianshu.com/p/42429f4d8f9e?nomobile=yes

还有,beforeDestroy 和 destroyed 钩子一般在v-if 和 v-for时触发

例子:

<demo v-if="hasDemo"></demo>

那么将 hasDemo 由 true 改为 false 时,会触发 Demo 组件的销毁钩子。

注意 v-show 指令不销毁元素而只是隐藏,故不会触发这个钩子。

image
vue官网:https://cn.vuejs.org/v2/guide/instance.html#生命周期图示

参考:http://www.cnblogs.com/gagag/p/6246493.html

发现一个问题,在f12打开开发者工具的情况下,刷新页面,如果加了update钩子,会不停得update,搞得我好几次强行关掉浏览器,报警了要。。。

posted @ 2017-06-13 14:22  以梦为马papapa  阅读(1229)  评论(1编辑  收藏  举报