Javascript Vue JS自定义组件v模型

Javascript Vue JS自定义组件v模型,javascript,vue.js,vuejs2,vue-component,Javascript,Vue.js,Vuejs2,Vue Component,大家好,我在尝试让v-model处理我创建的自定义组件时遇到了一点问题。问题在于,此组件由两个输入组成,每次更改这些输入时,我都会发出“input”事件,并将其绑定到父级上的数组 <key-value-input v-for="n in inputs" v-model="provider.params"></key-value-input> 这种方法很有效问题是它将provider.params从原始空数组替换为对象,该对象只包含我可能拥有的几个键值组合中的一个,因为此

大家好,我在尝试让
v-model
处理我创建的自定义组件时遇到了一点问题。问题在于,此组件由两个输入组成,每次更改这些输入时,我都会发出
“input”
事件,并将其绑定到父级上的数组

<key-value-input v-for="n in inputs" v-model="provider.params"></key-value-input>
这种方法很有效问题是它将
provider.params
原始空数组替换为对象,该对象只包含我可能拥有的几个键值组合中的一个,因为此组件可以在运行时复制


因此,问题是,如何使v-model能够从每个子组件获取数据,并简单地将其设置为父组件上数组中的对象?

如果我理解正确,您可以简单地在数组元素本身上使用
v-model

<key-value-input v-for="n in inputs" v-model="provider.params[n-1]"></key-value-input>


以下是JSFIDLE:

:value
比组件模板中的
v-model=“inputData.key”
更合适,因为您有一个单独的处理程序来发出emit。展示了如何使用
v-model
@RoyJ啊是的,当然,这只是一个基于描述的快速模型,以一种特殊的方式拼凑而成,但是是的,
:value
会更好
<key-value-input v-for="n in inputs" v-model="provider.params[n-1]"></key-value-input>