2012-04-25 55 views
0

如果我有3個狀態的路由經理這樣如何確定ember-routemanager中的下一個狀態?

App.routeManager = Ember.RouteManager.create({ 
rootElement: '#tabContent', 
initialState: 'test1', 

test1: Ember.ViewState.create({ 
    route: 'test1', 
    view: Ember.View.extend({ 
     defaultTemplate: Ember.Handlebars.compile('test1') 
    }) 
}), 

test2: Ember.ViewState.create({ 
    route: 'test2', 
    view: Ember.View.extend({ 
     defaultTemplate: Ember.Handlebars.compile('test2') 
    }) 
}), 

test3: Ember.ViewState.create({ 
    route: 'test3', 
    enter: function (manager, transition) { 
     var careView; 
     require(['require', 'test3'], function (require) { 
      test3View= require('test3');     
     }); 
     this.set('view', test3View); 
    }, 
    exit: function(){ 
     this._super(); 
    } 
}); 

如何確定它會在退出事件下一個什麼狀態?

回答

1

您可以沿着這些線路做一些事情,看到http://jsfiddle.net/pangratz666/zxLkt/

exit: function(manager, transition){ 
    var route = manager.get('location'); 
    var params = manager.get('params'); 
    var state = manager.getState(route, params); 

    console.log(route, params, state); 
} 

那你想用它做什麼?你打算怎麼做?

+0

我想確定下一個狀態,以便我可以使用requireJS加載適當的資源並設置下一個狀態的視圖。然而,我發現我在當前狀態的退出事件中設置了下一個狀態的視圖之後,在下一個狀態的輸入事件中,視圖仍然是未定義的。任何想法? – manni 2012-04-26 15:52:51

相關問題