(1) 从传递属性⽅面理解
所有的 prop 都使得其⽗⼦ prop 之间形成了⼀个单向下⾏绑定:⽗级 prop 的更新会向下流动到⼦组件中,但是反过来则不⾏,这样会防⽌从⼦组件意外改变⽗级组件的状态;额外的,每次⽗级组件发⽣更新时,⼦组件中所有的 prop 都将会刷新为最新的值,这意味着你不应该在⼀个⼦组件内部改变 prop;如果你这样做了,Vue会在浏览器的控制台中发出警告;⼦组件想修改时,只能通过 $emit 派发⼀个⾃定义事件,⽗组件接收到后,由⽗组件修改;
(2) 从Vue⽗⼦组件的⽣命周期执⾏顺序上理解
加载渲染过程
⽗ beforeCreate -> ⽗ created -> ⽗ beforeMount -> ⼦ beforeCreate ->⼦ created -> ⼦
beforeMount -> ⼦ mounted -> ⽗ mounted
组件更新过程
⽗ beforeUpdate -> ⼦ beforeUpdate -> ⼦ updated -> ⽗ updated
销毁过程
⽗ beforeDestroy -> ⼦ beforeDestroy -> ⼦ destroyed -> ⽗destroyed