第四篇 生命周期

各生命周期函数

截止本教程发布,vue生命周期函数有11个

beforeCreate

创建前,实例已经创建完,事件和生命周期已完全初始化,但还无法获取实例中的数据

created

创建后,数据已经注入,可以访问数据

beforeMount

挂载前,相关render方法已被调用

mounted

挂载后,页面的el已经被创建的vm.$el替换,页面渲染完。但此方法不承诺所有子元素都被挂载完,如果需要,可以使用vm.nextTick

beforeUpdate

更新前,适合处理DOM更新前的事件,如手动解除已添加的监听事件

updated

更新后,由数据变动引起的DOM已更新完毕,适合依赖DOM的操作。这时最好不要直接更改状态,如果需要可使用watcher或计算属性

activated

keep-alive组件激活时调用

deactivated

keep-alive组件停用时调用

beforeDestroy

销毁前,实例仍然可用

destroyed

销毁后,Vue实例解除绑定,移除监听器,然后销毁,不能再用

errorCaptured

错误捕获,当子孙组件发生错误时调用,三个参数分别为错误对象,错误对象的组件,描述错误信息来源的字符串。如果返回false则阻止错误向上传播。

Vue的声明

        function Vue (options) {
          if (process.env.NODE_ENV !== 'production' &&!(this instanceof Vue ) {
            warn('Vue is a constructor and should be called with the `new` keyword')
          }
          this._init(options)
        }