Vue-多级组件嵌套传值


遇到多级组件嵌套传值的时候我们想到的应该是

  1.props 和 $emit (如果嵌套组件过多的话,会使代码逻辑过于繁琐) 

  2. Vuex (一般用于大型项目中,只是用来传值有点大材小用了)

  3. Bus (建一个公共的js双方传值和获取值,这种方法不能很好的实现事件监听)

Vue 2.4版本开始,新增了$attrs$listeners方法用于隔代传值

  $attrs: 用于传递属性      inheritAttrs: false,(这个属性可以让传递的属性不显示在标签上)

  $listeners: 用于传递方法

搞个案例

// 祖组件
// 父组件
// 子组件

** 给大家展示一下

inheritAttrs:false 的时候

 inheritAttrs: true 的时候 (因为在父组件中 props:['pChild1'])  所以只展示没有被获取的




最后的结果展示
 
vue