我已经尝试通过StackOverflow搜索一些答案,但找不到。请参阅下面的以下代码片段 - Ember stateManager无法找到控制器实例。此外,视图代码也不会呈现,请指导我做出的错误。
Dashboard.stateManager = Ember.StateManager.create({
start: Ember.State.extend({
controller: null,
enter: function(manager) {
this.controller = manager.get('indexController');
this.setPath('view.controller', this.controller);
console.log(this.controller);
},
view: Dashboard.MapView
})
});
Dashboard.initialize(Dashboard.stateManager);
Dashboard.stateManager.transitionTo('start');
Dashboard.MapView很复杂,看起来像
Dashboard.MapView = Ember.View.extend({
...
)};
我是否必须添加一些内容才能执行视图?为什么statemanager无法获取'indexController') - 控制台输出在此片段的控制台日志行中返回undefined,尽管在页面加载后定义了Dashboard.IndexController,Dashboard.stateManager也是如此。
请注意,该应用程序是单页的,所以我根本没有定义路由,虽然定义了IndexController。这可能是个问题吗?但该应用程序没有说'route undefined'等,但页面是空白的?这是为单页面应用程序定义StateManager而没有“/”以外的任何路径的正确方法吗?
谢谢,
稻谷
答案 0 :(得分:0)
如果您使用的是最新版本的Ember,我认为让您的控制器用于代替路由器的stateManager的方法是:
manager.get('container').lookup('controller:index')