Javascript vue.js v-model绑定到json对象的子属性
我有一个名为Javascript vue.js v-model绑定到json对象的子属性,javascript,vue.js,Javascript,Vue.js,我有一个名为valuesRequired的JSON对象,它列出了我为其他目的而对其进行区分的所有值。我想做的是使用这个已经创建的对象绑定到输入。我似乎找不到办法来做这件事 这是代码,我只提供了必要的方面来说明我想要做什么,而不是所有其他方法等。我想要做的方面是明确的v-model=“valuesRequired.{{item.name}}}”,在下面的示例中,这将是v-model=“valuesRequired.foo” {{item.description}} 导出默认值{ 数据:函数
valuesRequired
的JSON对象,它列出了我为其他目的而对其进行区分的所有值。我想做的是使用这个已经创建的对象绑定到输入。我似乎找不到办法来做这件事
这是代码,我只提供了必要的方面来说明我想要做什么,而不是所有其他方法等。我想要做的方面是明确的v-model=“valuesRequired.{{item.name}}}”
,在下面的示例中,这将是v-model=“valuesRequired.foo”
-
{{item.description}}
导出默认值{
数据:函数(){
返回{
所需值:{
傅:“酒吧”
}
}
}
}
目前为了解决这个问题,我正在动态地将属性添加到this.$data
中,但这需要我将它们映射到所需的值对象中
非常感谢你的帮助 当默认值为文本时,使用{{item.name}
您的问题是,当您执行v-model='valuesRequired.{{item.name}}'
时,这将被呈现为v-model='valuesRequired.{{My name}}'
本质上,传递给v-model
的文本是作为JavaScript计算的,因此,您应该使用括号表示法访问item.name
处所需的值
Vue.js脚本设置:
new Vue({
el: "#app",
data: {
item: {
name: 'foo'
},
valuesRequired: {
foo: 'bar',
baz: 'faz'
}
}
})
<div id="app">
<input type='text' v-model='valuesRequired[item.name]' />
<p>
{{valuesRequired}}
</p>
</div>
Vue.js HTML模板:
new Vue({
el: "#app",
data: {
item: {
name: 'foo'
},
valuesRequired: {
foo: 'bar',
baz: 'faz'
}
}
})
<div id="app">
<input type='text' v-model='valuesRequired[item.name]' />
<p>
{{valuesRequired}}
</p>
</div>
{{valuesRequired}}
{{item.name}}
没有任何作用,它已经将v-model
中的所有内容作为代码进行读取,因此您应该编写v-model='valuesRequired[item.name]'
@chbchb55很难知道vuejs的魔力何时会停止,这是完美的。介意把它作为答案,这样我就可以把它标记为正确的吗?那不是Vue magic;它是纯javascript。我把它作为answer@Bert哈哈,我知道这是JavaScript——我的意思是我不知道vue模板中允许/不允许的内容。我已经让vue linter用我尝试过的其他各种方法对我大喊大叫,比如使用把手方法动态访问所需对象的值。