2

我正在使用 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}); 
      }
    });
  }   
});

有没有更好的办法?

4

1 回答 1

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}); 
      }
    });
  }   
});
于 2012-12-04T06:42:03.453 回答