Vue 父组件向子组件传递数据,子组件也需要向父组件传递数据,比如:数组

子组件使用 computed 来获取 prop 值

比如 ​​prop:data​​​ 传递的是 数组 ​​data​​​ 子组件这样获取 ​​prop​​ 值

computed: {
dataLocal(){
return this.data
}
}

当子组件修改了这个 data 并且需要重新传给 父组件时

就需要使用 ​​$emit​​ 方法调用方法,把值传给父组件

// tempData:修改好的数组数据
this.$emit('setData', [...tempData]) // 直接赋值是不管用的,用 [...Arary] 就可以了,具体去查 ES6

可以直接使用 v-model

在子组件中定义好 prop

props: {
data: {type: Array}
}

并定义 ​​model​​ 规则

model: {
prop: 'data', // 绑定是 prop 'data' 的值
event: 'setData' // $emit 的时候使用的是 ‘setData’ 这个事件名
}

这样,父组件就可以直接在调用 子组件的时候使用

<child v-model='dataFather'/>