我是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}}
菜单是一个模型,有一个名为Completed date的属性,它是一个包含日期列表的数组(YYYY-MM-DD),应该有一个构造函数来检查它是否已完成TODAY,如果已完成,则make选中该菜单的复选框。如果没有,用户可以检查特定的复选框我不知道如何处理这个,我是否需要为菜单创建另一个属性?
任何建议都将不胜感激
答案 0 :(得分:0)
首先,如果TODAY在模型中,则需要一个返回true或false的计算属性。
你应该在你的组件中创建一个计算属性,如:
checked = computed('model', function() {
// pseudocode bellow
return (TODAY in array)
})
现在,如果未选中(TODAY不在数组中),您应该能够在数组中插入。 在你的hbs:
{{input type="checkbox" checked=checked click=(action "CompletedToday" menu.id)}}
(你不应该使用"这个"来引用这个属性)
如果" CompletedToday"在您的组件操作中,它应该工作。 我希望这有帮助