任何人都可以帮助我。 这是我的, Ember binding with only an hash
这是模板,
<script type="text/x-handlebars">
{{#each Page.PageController.content.tasks}}
{{#view Page.PageView contentBinding="this"}}
{{#unless editing}}
<div>
<h2>{{title}}</h2> {{view Ember.Checkbox checkedBinding="editing"}}
</div>
{{/unless}}
{{#if editing}}
<div>
<h2>{{view Ember.TextField valueBinding="title"}}</h2>
{{view Ember.Checkbox checkedBinding="editing"}}
</div>
{{/if}}
{{/view}}
{{/each}}
</script>
这是js,
Page = Ember.Application.create();
Page.PageController = Ember.ObjectController.create({
content: {
tasks: [
{
title: 'Heading',
editing: false},
{
title: 'Heading',
editing: false}
]
}
});
Page.PageView = Ember.View.extend({
edit: function() {
var content = this.getPath('content');
content.set("editing", true);
}
});
问题是我可以使用视图Ember.Checkbox绑定普通旧哈希的布尔值,但是如何通过链接操作执行此操作?
答案 0 :(得分:2)
您需要使用Ember Objects
而不是普通哈希才能使绑定正常工作,如上例所示,您需要更改代码,如下所示
Page.PageController = Ember.ObjectController.create({
content: Ember.Object.create({
tasks: [
Ember.Object.create({
title: 'Heading',
editing: false
}),
Ember.Object.create({
title: 'Heading',
editing: false
})
]
})
});
如果这有帮助,请告诉我......
更新的
Fiddle