我有一个路由管理器,如下面的代码所示。
App.routeManager = Ember.RouteManager.create();
我不想静态地将viewstate添加到管理器;我想确定加载时的状态取决于数据。我怎样才能做到这一点?我正在寻找类似下面的代码。
foreach(item in itemArray){
App.routeManager.states.add(Ember.ViewState.create(
route: 'item.route'
));
}
有可能吗?
答案 0 :(得分: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);