如何处理 ember 复选框绑定
How to handle ember checkbox binding
我是 ember 的新手,我对复选框绑定有疑问。
这是我的 js && hbs :
CompletedToday(id){
var today = new Date().toISOString().slice(0, 10);
this.get('DS').findRecord('menu',id).then((recs) => {
recs.get('completedDates').pushObject(today);
recs.save();
});
},
{{#each menu}}
{{input type="checkbox" checked=this.checkCompleteToday click=(action "CompletedToday" menu.id)}}
{{/each}}
Menu 是一个模型,有一个名为 Completed date 的属性,它是一个包含日期列表(YYYY-MM-DD)的数组,应该有一个构造函数来检查它是否在今天完成,如果完成, 选中该菜单的复选框。如果没有,用户可以检查特定的复选框我不知道如何实际处理这个,我需要为菜单创建另一个属性吗?
如有任何建议,我们将不胜感激
首先,您需要计算 属性,如果模型中包含今天,则 returns 为真或假。
您应该在您的组件中创建一个计算的 属性,例如:
checked = computed('model', function() {
// pseudocode bellow
return (TODAY in array)
})
现在,如果未选中(TODAY 不在数组中),您应该可以插入到数组中。
在你的 hbs:
{{input type="checkbox" checked=checked click=(action "CompletedToday" menu.id)}}
(您不应该使用 "this" 来引用 属性)
如果 "CompletedToday" 在您的组件操作中,它应该可以工作。
希望对您有所帮助
我是 ember 的新手,我对复选框绑定有疑问。
这是我的 js && hbs :
CompletedToday(id){
var today = new Date().toISOString().slice(0, 10);
this.get('DS').findRecord('menu',id).then((recs) => {
recs.get('completedDates').pushObject(today);
recs.save();
});
},
{{#each menu}}
{{input type="checkbox" checked=this.checkCompleteToday click=(action "CompletedToday" menu.id)}}
{{/each}}
Menu 是一个模型,有一个名为 Completed date 的属性,它是一个包含日期列表(YYYY-MM-DD)的数组,应该有一个构造函数来检查它是否在今天完成,如果完成, 选中该菜单的复选框。如果没有,用户可以检查特定的复选框我不知道如何实际处理这个,我需要为菜单创建另一个属性吗?
如有任何建议,我们将不胜感激
首先,您需要计算 属性,如果模型中包含今天,则 returns 为真或假。
您应该在您的组件中创建一个计算的 属性,例如:
checked = computed('model', function() {
// pseudocode bellow
return (TODAY in array)
})
现在,如果未选中(TODAY 不在数组中),您应该可以插入到数组中。 在你的 hbs:
{{input type="checkbox" checked=checked click=(action "CompletedToday" menu.id)}}
(您不应该使用 "this" 来引用 属性)
如果 "CompletedToday" 在您的组件操作中,它应该可以工作。 希望对您有所帮助