Vue组件~父子组件之间的通信(传值)

Posted yunotes

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Vue组件~父子组件之间的通信(传值)相关的知识,希望对你有一定的参考价值。

1.父组件向子组件传参

  父组件中通过v-bind对要传参数的绑定:(例如)

    技术图片

    :dataSourceName:是在子组件中要用到的值

    "ctpSaveEchartSetting.dataSourceId":是在父组件中要传的值

  子组件中的接收通过props(数据值单项绑定的)进行接收:(例如)

    技术图片

  注:在props中有的变量就不能再data中再定义,或通过监测、计算属性直接去改变,因为js中的对象和数组是引用对象,指向同一个内存空间,如果在子组件中改变props中的值会影响到父组件中的值的状态.

2.子组件向父组件传值

  子组件中通过调用this.$emit方法

  vm.$emit( event, arg ):event:父组件中的方法名;arg:子组件中要带到父组件的参数可以有多个值

  vue禁止子组件向父组件传参,只能通过事件触发来改变:(例如)

  技术图片

  父组件中通过v-on来绑定事件在子组件上:(例如)

  技术图片

  @drawChart:是子组件中放在$emit方法中的第一个参数

  ="drawChart":是父组件中的方法名

3.父组件调用子组件上的方法

  子组件中直接写方法:(例如)

  技术图片

  父组件中:(例如)

  在自定义组件上添加一个ref属性

  技术图片

  在父组件中直接调用

  技术图片

4.非父子组件之间使用vuex进行参数传递

 

 

 

 

 

 

 

    

以上是关于Vue组件~父子组件之间的通信(传值)的主要内容,如果未能解决你的问题,请参考以下文章

Vue中父子组件之间相互传值的方法

Vue父子组件之间的相互通信

「 VUE3 + TS + Vite 」父子组件间如何通信?

Vue 父子组件、兄弟组件传值

Vue 组件之间通信方式

vue父子组件兄弟组件之间的通信和访问