父传子
1.使用方法是子组件使用props来接收
props: {
childrenValue: {
type: String,
default: "2",
},
},
子传父
1.子组件使用$emit来发送
this.$emit("childrenClick", val);
2.父组件在,在子组件上绑定,并处理
父组件绑定childrenClick
<Children
:childrenValue="fathervalue"
:sunName='hello'
@sunClick='sunClick'
@childrenClick='childrenClick'
></Children>
父组件接收子组件的信息childrenClick
childrenClick(val) {
this.fathervalue = val;
},
父传孙
1.使用attrs传递
父组件绑定在子组件sunName
<Children
:childrenValue="fathervalue"
:sunName='hello'
@sunClick='sunClick'
@childrenClick='childrenClick'
></Children>
子组件使用attrs绑定给孙组件
<Sub :subValue="childrenValue1" v-bind="$attrs" v-on="$listeners"></Sub>
在孙组件中接收
<span>父组件传递给孙组件的信息:{{ $attrs.sunName }}</span>
孙传父
1.孙组件中定义好事件
孙组件组sunClick
<button @click="sunClick">孙点击</button>
子组件使用listeners绑定给父组件
<Sub :subValue="childrenValue1" v-bind="$attrs" v-on="$listeners"></Sub>
父组件中接收sunClick
<Children
:childrenValue="fathervalue"
:sunName='hello'
@sunClick='sunClick'
@childrenClick='childrenClick'
></Children>
父组件处理方法
sunClick(val) {
this.sunName = `父组件爱${val}`;
},