1: beforeCreated 在实例初始化之后, 数据观测和 event/watcher 事件配置之前被调用。
2: created() 实例已经创建完成之后被调用。 在这一步, 实例已经完成以下配置: 数据观测(data
observe), 属性和方法的运用, watch/ event 事件回调。
3: beforeMount 再挂载开始之前被调用: 相关的render 函数首次被调用。
4: mounted() 生命周期: el被新创建的 vm.$el 替换, 并挂载到实例上去之后调用该钩子。
5: beforeUpdate() 数据更新时调用, 发生在虚拟重新渲染和打补丁之前。
6: update() 由于数据更改导致的虚拟DOM重新 渲染和打补丁, 在这之后会重新调用该钩子。
7: beforeDestory(); 实例销毁之前调用。 在这一步, 实例完全可以使用。
8: destroyed(); Vue 实例销毁后调用。 调用后, Vue 实例指示的所有的东西会解绑, 所有的事件监听会被移除, 所有的子实例也会被销毁。 该钩子函数在服务器渲染期间不会被调用。
9: keep-alive: (activeted 和 deactiveted)
1: Vue.mixin 的使用场景和原理:
Vue.mixin: 的作用就是抽离公共的业务逻辑, 原理类似 "对象的继承", 当组件初始化时会调用
megerOption 方法进行合并, 并且采用策略模式针对不同的属性进行合并。
如果混入的数据和本身的组件的数据冲突, 会采用 "就近原则" 以组件的数据为准。
minxin: 中有很多缺陷 "命名冲突", "依赖问题", "数据来源问题"
1: nextTick 在哪里使用? 原理是:
nextTick 中回调函数是在下次DOM 更新结束之后执行的延迟回调。
2: 可用于获取更新后的DOM
3: Vue中的数据更新是异步的, 使用nextTick 方法可以保保证用户定义逻辑在更新之后执行。