[英]Change value in object within array in array with Ember.js 1.13
在我的应用程序中,我有一个结构,其中对象包含在数组中的数组中。 这些对象称为AND规则,带有对象的数组称为OR规则。 结构如下:
matching: [
[ // OR rule
{ // AND rule
name: "rule #1.1",
value: "test"
},
{ // AND rule
name: "rule #1.2",
value: "test B"
}
],
[ // OR rule
{ // AND rule
name: "rule #2.1",
value: "test C"
}
]
]
当我尝试更改其中一个值时,Ember会更改所有值。 例如,如果我将规则#1.2的值更改为“测试值”,则规则#1.1和规则#2.1的值也会更改为“测试值”。 我使用以下代码来设置值:
setValue (andIndex, orIndex, value) {
var orRule = this.get('matching').objectAt(orIndex);
var andRule = orRule.objectAt(andIndex);
Ember.set(andRule, 'value', value.target.value);
}
我更改值的模板如下所示:
{{#each matching as |orRule orIndex|}}
{{#each orRule as |andRule andIndex|}}
<input type="text" onkeyup={{action 'setValue' andIndex orIndex value=value}}>
{{/each}}
{{/each}}
我的问题是:我只想更改我更改的一个值。 我该怎么做呢? 注意:我使用Ember.JS 1.13。
您无需采取任何行动。 只需在input
助手中设置值
{{#each matching as |orRule orIndex|}}
{{#each orRule as |andRule andIndex|}}
{{input value=andRule.value}}
{{/each}}
{{/each}}
更新
请检查该出来。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.