Closed GitKou closed 7 years ago
1.你的navbar父子组件用的$root通信。
`子组件可以用 this.$parent 访问它的父组件。根实例的后代可以用 this.$root 访问它。父组件有一个数组 this.$children,包含它所有的子元素。 尽管可以访问父链上任意的实例,不过子组件应当避免直接依赖父组件的数据,尽量显式地使用 props 传递数据。另外,在子组件中修改父组件的状态是非常糟糕的做法,因为: 这让父组件与子组件紧密地耦合; 只看父组件,很难理解父组件的状态。因为它可能被任意子组件修改!理想情况下,只有组件自己能修改它的状态。`
`子组件可以用 this.$parent 访问它的父组件。根实例的后代可以用 this.$root 访问它。父组件有一个数组 this.$children,包含它所有的子元素。
尽管可以访问父链上任意的实例,不过子组件应当避免直接依赖父组件的数据,尽量显式地使用 props 传递数据。另外,在子组件中修改父组件的状态是非常糟糕的做法,因为:
这让父组件与子组件紧密地耦合;
只看父组件,很难理解父组件的状态。因为它可能被任意子组件修改!理想情况下,只有组件自己能修改它的状态。`
本 demo 仅供 Vue 1.x 使用 关于您的需求,建议使用 Vuex 实现
连 React 都提供 context,因此 Vue 使用 $root 不见得是反范式(但使用 $parent 确实不雅,因此本 demo 没有使用)
context
$root
$parent
Vue2 脚手架已出!!! #26
1.你的navbar父子组件用的$root通信。