我在 Ember 视图中包装了一个引导日期选择器,但我对结果不太满意。有没有更清洁的方法来做到这一点?
App.DatepickerView = Ember.View.extend({
classNames: ['dp'],
didInsertElement: function() {
var _this = this;
this.$().datepicker({'format': 'M yyyy','minViewMode': 'months'})
.on('changeDate', function(e) {
var id = $(this).datepicker().data('date').replace(" ", "-");
_this.get('controller').transitionToRoute('month', App.Month.find(id));
});
this.$('.month.active').removeClass('active');
if (this.get('controller.controllers.month.content')) {
this.update();
}
},
update: function() {
var month = moment( this.get('controller.controllers.month.id') );
this.$().datepicker('hide');
this.$().datepicker('setDate', month.toDate());
this.$().datepicker('show');
}.observes('controller.controllers.month.content')
});
具体来说,我想
- 更惯用地处理
changeDate
事件,无论是在我的模板中还是通过click
处理程序 - 如果我们从一个月开始通过数据绑定解决日期更新(目前我检查是否
controllers.month.content
设置,并更新日期选择器didInsertElement
感谢您的任何建议!