Controller:
games : Ember.A(["1", "2", "3"]),
View:
{{#each view.games}}
{{view Ember.TextField valueBinding="this"}}
{{/each}}
当我更改文本字段的值时,它没有同时更改数组?
Controller:
games : Ember.A(["1", "2", "3"]),
View:
{{#each view.games}}
{{view Ember.TextField valueBinding="this"}}
{{/each}}
当我更改文本字段的值时,它没有同时更改数组?
嗯,我对此感到很奇怪......如果你在数组中使用对象,那么绑定工作得很好,使用字符串,就像你做的那样,实际上它不起作用......
<script type="text/x-handlebars">
<h5> work with object </h5>
{{#each plop in App.controller1}}
{{view Em.TextField valueBinding="plop.name"}} {{plop.name}}
{{/each}}
<h5> don't work with strings </h5>
{{#each plop in App.controller2}}
{{view Em.TextField valueBinding="plop"}} {{plop}}
{{/each}}
</script>
window.App = Ember.Application.create({
controller1: Ember.ArrayController.create({
content: [{name:"aaaa"}, {name:"bbbbb"}, {name:"ccccc"}]
}),
controller2: ["aaaa", "bbbbb", "cccc"]
});
http://jsfiddle.net/Sly7/SQ5g8/
编辑:感谢 Kris Selden,他向我解释了这是有意的行为,因为绑定通过 obj[key] 工作的两种方式,显然,字符串没有这样的键。总而言之,没有基于数组位置的绑定。