2012-12-04 43 views
2

我正在使用jquery-ui datepicker在幾天之間導航我的應用程序。問題是我從視圖調用了transtionTo,我覺得這是錯誤的。ember.js transitionTo從jquery ui回調

下面是代碼:

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}); 
     } 
    }); 
    } 
}); 

有沒有更好的辦法?

回答

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}); 
     } 
    }); 
    } 
});