簡體   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