1

これはそれほど難しいことではありません。

datepicker UI ウィジェットがあり、ユーザーが月をクリックするたびに、その月をMonthsController(an ArrayController) に追加または削除したいと考えています。はMonthsControllerルートに関連付けられていないため、私のApplicationTemplate場合は単純に

{{render months}}

私のdatepickerビューの簡易版は

App.DatepickerView = Ember.View.extend({
    click: function(e) {
      var id = $(this).datepicker().data('date').replace(" ", "-");
      this.get('controller.controllers.months').toggleMonth(id);
    }
});

そして、私は私のイベントを処理しますMonthsController:

App.MonthsController = Ember.ArrayController.extend({
    toggleMonth: function(id) {
        var month = App.Month.find(id),
            index = this.indexOf(month);
        if (index === -1) {
            this.pushObject(month);
        } else {
            this.removeAt(index);
        }
    }
});

私はこれが機能していると思っていましたがmonth、最後のスニペットは実際には ではなく、App.Month単なる (おそらく) 匿名オブジェクトであることに気付きました。

モデルをプログラムでコントローラーに追加/削除するにはどうすればよいですか?

4

1 に答える 1