vue

80 阅读1分钟

Vue 的生命周期?beforeCreate、created、beforeMount、mounted 分别有什么区别?

beforeCreate是创始前,对实例初始化之后进行数据监听和事件的配置之前同步调用

created 是在实例创建完成后立即同步调用。在这一步中,实例已完成对选项的处理,(数据监听、计算属性、方法、事件/监听器的回调函数已配置完成 $el 不可用

beforeMount是挂载之前被调用 相关的render函数首次被调用

mounted是实例被挂载之后调用,这时候的el被新创建的vm.$el替换,如果实例被挂载到文档内元素 ,当mounted被调用时vm.$el也在文档内

vm.$nextTick作用

vm.$nextTick是等某个操作执行完毕后立即执行,在mounted内部使用

mounted: function () {
    this.$nextTick(function(){
      //整个视图被渲染之后立即执行
    })
}

不同组件间事件传递

  1. 用 vm.on来进行监听事件,事件由vm.on来进行监听事件,事件由vm.emit触发然后通过回调函数

vm.onvm.on vm.once vm.offvm.off vm.emit vm是vue的实例 vm.on绑定事件通过on绑定事件通过emit触发 触发后通过回调函数得到数据 vm.$on每次都监听

vm.once只监听一次vm.once只监听一次 vm.off解除绑定事件

vm.onvm.on和vm.emit可以通过新建一个bus.js通过Bus.onBus.on与Bus.emit进行不同组件间的传递

  1. vuex