# 生命周期
- 加载渲染过程:父
beforeCreate-> 父created-> 父beforeMount-> 子beforeCreate-> 子created-> 子beforeMount-> 子mounted-> 父mounted。 - 子组件更新过程:父
beforeUpdate-> 子beforeUpdate-> 子updated-> 父updated。 - 父自建更新过程:父
beforeUpdate-> 父updated。 - 销毁过程:父
beforeDestroy-> 子beforeDestroy-> 子destroyed-> 父destroyed。
# 组件通信
# 父子组件通信
- props + emit
- $refs + $parent
- provider + inject
# 兄弟组件通信
- vuex
- eventBus
$parent.$refs
# computed VS watch
- computed 是计算一个新的属性,并将该属性挂载到 vue 实例上,而 watch 是监听已经存在且已挂载到 vue 实例伤的数据,所以用 watch 同样可以监听 computed 计算属性的变化。
- computed 本质是一个惰性求值的观察者,具有缓存性,只有当依赖变化后第一次访问 computed 值才会重新计算。而 watch 则是当数据发生变化便会调用执行函数。
- 从使用场景上来说,computed 适用一个数据便诶对个数据影响,而 watch 适用一个数据影响多个数据。
# Vue3.0
# 优势
- 没有 this,没烦恼;
- 更好的类型推导能⼒(TypeScript);
- 更友好的 Tree-shaking ⽀持(渐进式体验);
- 更⼤的代码压缩空间;
- 更灵活的逻辑复⽤能⼒。