2012-04-30 57 views
0

我有一個像下面的代碼定義的路由管理器。ember-routemanager可以在加載時動態添加狀態嗎?

App.routeManager = Ember.RouteManager.create(); 

我不想靜態添加viewstate到管理器;我想確定加載哪些狀態取決於數據。我怎樣才能做到這一點?我正在尋找類似下面的代碼。

foreach(item in itemArray){ 
     App.routeManager.states.add(Ember.ViewState.create(
      route: 'item.route' 
    )); 
} 

這可能嗎?

+1

我還沒有嘗試過,但我不明白爲什麼這是行不通的。你試過了嗎?發生了什麼? – pjmorse

+0

我試過我發佈的確切語法,它沒有工作。 – manni

回答

1

你基本放棄自己的答案,看到http://jsfiddle.net/pangratz666/xNnTP/

App.stateManager = Ember.StateManager.create({ 
    enableLogging: true, 
    initialState: 'firstState', 
    firstState: Ember.State.create({ 
     myEvent: function(manager) { 
      manager.goToState('addedState'); 
     } 
    }) 
}); 

Ember.run.later(function() { 
    Ember.setPath(App.stateManager, 'states.addedState', Ember.State.create({ 
     enter: function() { 
      this._super(); 
      console.log('hello dynamic world'); 
     } 
    })); 
    App.stateManager.send('myEvent'); 
}, 10);​ 
相關問題