一、考察重点

  1. props 和 $emit
  2. 组件间通信 - 自定义事件
  3. 组件生命周期

二,props 和 $emit

三、组件通讯

四、组件的生命周期

  1. 挂载阶段
    1. beforeCreate
    2. created
    3. beforeMoute
    4. mounted
  2. 更新阶段
    1. beforeUpdate
    2. updated
  3. 销毁阶段
    1. beforeDestore
    2. destored

created 和 mounted 有什么区别?
created vue的实例已经初始化完毕,但是页面还没有开始渲染。
mounted - 页面渲染完毕(el、template等加载完毕)

beforeDestory 里面可能会做哪些事情?

  1. 解除绑定
  2. 销毁子组件以及事件监听器

五、带有父子组件的生命周期

创建示例从外到内(created, 父组件优先于子组件)
渲染实例从内到外(mounted, 子组件优先于父组件)
beforeUpdate -> 父组件优先于子组件(先要调用父组件的点击事件,子组件的数据才能改变)
updated -> 子组件优先于父组件(子组件数据更新之后,外层的父组件才会更新,子组件不变,则父组件也不会变)

总结:
加载渲染过程:
父beforeCreate->父created->父beforeMount->子beforeCreate->子created->子beforeMount->子mounted->父mounted

更新过程:
父beforeUpdate->子beforeUpdate->子updated->父updated

销毁过程:
父beforeDestroy->子beforeDestroy->子destroyed->父destroyed