vue中父子组件的通信

181 阅读1分钟

选项式api

父传子

1.在父组件的子组件标签上绑定自定义属性例 <Child :message='这是父组件传入的消息'/>
2.在子组件中使用porps来进行接收,有两种接收方式

(1)通过数组接收porps:['message',自定义属性2,...]

(2)通过对象方式接收porps:{message:String,default:'默认值', require: true/*是否必传*/}

3.在模板语法中可以直接使用,例{{message}}.在其他地方要加this.

子传父

1.在父组件的子组件标签上绑定一个自定义的事件,例@somesave=“bindSomEvent”
2.在子组件使用emits["somesave"]来接收它

3.在子组件中使用模板中使用$emit("somesave",要传的值)来传值,在子组件模板外前面加this,例:this.$emit("somesave",this.传的值)

4.在父组件中使用parms作为形参来接收,例

    bindSomEvent(parms) {
      console.log("bindSomEvent >>> ", parms);
      this.msg = parms;
    },
  },

组合式

       <script setup>
       const propos=defineProps({
       foo:String})

      </script>
<script setup>
       const emit=defineEmits([])

      </script>

他们是只能在<script setup>中使用的宏编译器,他们不需要导入,接收外部参数和事件