选项式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>中使用的宏编译器,他们不需要导入,接收外部参数和事件