Ember.js 如何从视图中检查动态管段

Ember.js 如何从视图中检查动态管段,ember.js,Ember.js,我有一个DatePickerUI小部件,我正试图使它与我的路线保持同步。路线非常简单: /months /months/Jan-2013 /months/Feb-2013 ... 如果用户首先输入一条动态路线(例如,/months/Jan-2013),我很难更新日期选择器 我该怎么做?不幸的是,要更改日期,我需要使用datepicker的API(也就是说,我不能使用handlerbars帮助程序,而只是更新HTML),因此我认为我需要在视图中使用一个自定义函数。我尝试使用观察到的属性,但没有成

我有一个DatePickerUI小部件,我正试图使它与我的路线保持同步。路线非常简单:

/months
/months/Jan-2013
/months/Feb-2013
...
如果用户首先输入一条动态路线(例如,
/months/Jan-2013
),我很难更新日期选择器


我该怎么做?不幸的是,要更改日期,我需要使用datepicker的API(也就是说,我不能使用handlerbars帮助程序,而只是更新HTML),因此我认为我需要在视图中使用一个自定义函数。我尝试使用观察到的属性,但没有成功。

以下是我提出的解决方案:

App.MonthRoute = Ember.Route.extend({
    setupController: function(controller, model) {
        controller.set('model', model);
        this.controllerFor('application').set('activeMonth', model.get('id'));
    }
});
现在我的
ApplicationController
总是知道“所选月份”。我可以在datepicker视图的init中使用此选项来正确设置日期:

App.DatepickerView = Ember.View.extend({

    didInsertElement: function() {
        var _this = this;

        $('#dp').datepicker({
            'format': 'M yyyy',
            'minViewMode': 'months',
        })
        .on('changeDate', function(e) {
            $(this).datepicker('hide');
            var id = $(this).datepicker().data('date').replace(" ", "-"),
                month = App.Month.find(id);

            _this.get('controller').transitionToRoute('month', month);

        });

        // right here:
        if (this.get('controller.activeMonth')) {
            $('#dp').datepicker('setDate', this.get('controller.activeMonth'));
        }

    }

});
欢迎提供任何其他答案/建议