0

我在下面的代码中定义了一个路由管理器。

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

我不想将视图状态静态添加到管理器;我想确定加载时的状态取决于数据。我怎样才能做到这一点?我正在寻找类似以下代码的内容。

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

是否可以?

4

1 回答 1

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);​
于 2012-04-30T14:20:20.783 回答