在VUE中,是不支持子组件往父组件直接传递参数的,一般子组件需要通过向父组件添加事件方法来实现参数传递
MissionList 是父组件 MissionListOverviewPanel是子组件

先展示子组件代码
watch: {
watchedChecked(value) {
this.$emit('checked', value);
},
},
data() {
return {
show: false,
radio: 1,
dialogMessage: '',
watchedChecked: false,
nomalMissionCount: 0,
};
},在这里我用watch去监视绑定的参数【watchedChecked】变化,通过this.$emit('checked', value);的方式给父组件绑定方法。
这一段代码的意思就是只要watchedChecked这个参数的数据一有变化 就会向父组件去绑定方法。其中value就是参数变化后的值
接下来是父组件代码
<missionList-overview-panel
corner-text="正在进行"
:title=row.entity.NAME
:style="panelStyle(row.index)"
@checked="checkedSwitch"
/>在引用子组件的标签的属性里写上@checked这里的名字一定和子组件绑定方法【 this.$emit('checked', value);】时一致
methods: {
checkedSwitch(value) {
console.log(value);
},
},然后在methods下写上对应的方法 value就是子组件传过来的数据了
PS:简便写法
子组件:
this.$emit('update:checked', value);父组件:
:checked.sync="checkedArray[row.index]"
版权声明:本文为qq_42783037原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。