2012-04-30 9 views
0

私は次のコードのように定義されたルートマネージャを持っています。ember-routemanagerは、ロード時に状態を動的に追加できますか?

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

私はビューステートをマネージャに静的に追加したくありません。私はロード中の状態がデータに依存しているかどうかを判断したい。どうやってやるの?私は次のコードのようなものを探しています。

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);​ 
関連する問題