尽管子组件可以用this.$parent访问它的父组件及其父链上任意的实例,不过子组件应当避免直接依赖父组件的数据,尽量显式地使用 props 传递数据。另外,在子组件中修改父组件的状态是非常糟糕的做法,因为:
- 这让父组件与子组件紧密地耦合;
- 只看父组件,很难理解父组件的状态。因为它可能被任意子组件修改!理想情况下,只有组件自己能修改它的状态。
每个Vue实例都是一个事件触发器:
- $on()——监听事件。
- $emit()——把事件沿着作用域链向上派送。(触发事件)!!
- $dispatch()——派发事件,事件沿着父链冒泡。
- $broadcast()——广播事件,事件向下传导给所有的后代。