繁体   English   中英

Ember StateManager找不到控制器

[英]Ember StateManager does not find controller


我尝试通过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')-尽管Dashboard.IndexController是在页面加载后定义的,而Dashboard.stateManager是在加载页面后定义的,但控制台输出在此代码段的控制台日志行中返回undefined。

请注意,该应用程序是单页的,因此尽管定义了IndexController,但我根本没有定义路由。 这可能是个问题吗? 但是应用程序未显示“路由未定义”等信息,但是页面空白? 这是为单页应用程序定义StateManager而不使用“ /”以外的任何路由的正确方法吗?

谢谢,
稻田

如果您使用的是最新版本的Ember,我认为将stateManager的控制器替换为路由器的方法是:

manager.get('container').lookup('controller:index')

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM