如何处理ember复选框绑定

时间:2018-03-27 23:57:54

标签: ember.js

我是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选中该菜单的复选框。如果没有,用户可以检查特定的复选框我不知道如何处理这个,我是否需要为菜单创建另一个属性?

任何建议都将不胜感激

1 个答案:

答案 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"在您的组件操作中,它应该工作。 我希望这有帮助