vue组件通信方式

66 阅读1分钟
  • 组件通信常用方式
    • props

    • emit/emit/on

    • evensbus (事件总线)

    • vuex

    • 其他

      • parent/parent/root $root->Vue 同级组件间的通信可以通过共同的root或者parent 搭建。

      • children父组件可以通过children 父组件可以通过children访问子组件 实现 父子通信。

        //parent 组件中
        this.$children[1].testProty='test';      
      
      

      ⚠️注意事项: $children不能保证子元素顺序( 异步组件 )并且只能获取子组件(div等元素是不能获取的)

      • $refs 获取子节点引用,访问或者修改子节点的属性 / 调用子节点的方法( 可用于任务子节点)。
        //parent
        <HelloWorld ref="textRef" />
      
        <div ref="divRef"></div>
      
        mounted(){
          this.$refs.textRef.text='text';
          this.$refs.divRef.text='divtext';
        }
      
      • provide/inject

      • 非props特性

        • $attrs
        • $listeners
    • 事件总线 任务两个组件之间传值通常使用总线或者vuex