我正在使用jquery-ui datepicker在几天之间导航我的应用程序。问题是我从视图中调用transtionTo,我认为这是错误的。
以下是代码:
http://jsfiddle.net/arenoir/rjVUN/
App.CalendarView = Ember.View.extend({
tagName: 'div',
didInsertElement: function() {
var router;
router = this.get('controller.target.router');
this.$().datepicker({
dateFormat: "yy-mm-dd",
onSelect: function(dateText, instance) {
router.transitionTo('show', {day: dateText});
}
});
}
});
有更好的方法吗?
答案 0 :(得分:3)
你是对的,但有时这是不可避免的。 我建议的建议是在路由器上创建一个方法来处理这种情况。
在您的路由器中:
calendarParentRoute: Ember.Route.extend({
url: "/",
showDate: Ember.Route.transitionTo('show'),
show: Ember.Route.extend({
url: ":date",
connectOutlets: function(router, context){
// Do stuff
}
})
})
查看:
App.CalendarView = Ember.View.extend({
tagName: 'div',
didInsertElement: function() {
var router;
router = this.get('controller.router');
this.$().datepicker({
dateFormat: "yy-mm-dd",
onSelect: function(dateText, instance) {
router.send('showDate', {day: dateText});
}
});
}
});