Javascript Vue.js获取所有v-model绑定
使用Vue.js,您可以将表单输入绑定到属性: 我正在进行一个项目,在这个项目中,我“动态”生成了一个表单。这里的v-model绑定只是基于输入的名称设置的属性 但问题是,我一直在想如何正确地获得这些v模型绑定。到目前为止,我所看到的只是人们在其Vue实例上手动设置绑定的属性:Javascript Vue.js获取所有v-model绑定,javascript,vue.js,vuejs2,Javascript,Vue.js,Vuejs2,使用Vue.js,您可以将表单输入绑定到属性: 我正在进行一个项目,在这个项目中,我“动态”生成了一个表单。这里的v-model绑定只是基于输入的名称设置的属性 但问题是,我一直在想如何正确地获得这些v模型绑定。到目前为止,我所看到的只是人们在其Vue实例上手动设置绑定的属性: new Vue({ el: '...', data: { checkedNames: [] } }) 是否可以在不手动设置数据属性的情况下以某种方式获取所有v-model绑定 当创建一个包含动态字
new Vue({
el: '...',
data: {
checkedNames: []
}
})
是否可以在不手动设置数据属性的情况下以某种方式获取所有v-model
绑定
当创建一个包含动态字段数的动态表单时,这将非常有帮助
我猜一个选项就是简单地用javascript从输入中检索名称atributes,但我希望可能已经有了一些东西,因为v-model
可能正在调用Vue实例中已知的setter
修改了答案中的示例:
根据:
可以使用Vue.set(object,key,value)
方法向嵌套对象添加被动属性
这意味着您的起始数据可以是以下内容:
{
customForm: [],
values: {}
}
让我们假设customForm
是一个字段对象数组,用于描述自定义表单中的一组字段。开始时它是空的,因为您说表单将动态创建
生成该动态数据后,只需将其分配给customForm
,然后循环使用前面提到的Vue.set
方法添加反应性属性
下面是一个例子。我使用的是this.$set
,但这只是Vue.set
的别名,回答得非常好。另一方面,值
模型可以按如下方式重新分配:this.values=myNewForm.reduce((model,field)=>{model[field.id]='';return model},{})代码>您正在从Vue.js本身中指定的数组呈现表单。当您只是将Vue连接到预定义的HTML表单时,是否也可以这样做?我正在尝试重构JSFIDLE,但我不确定这是否可行。谢谢你迄今为止的帮助!没关系,根据你的例子得到答案: