簡體   English   中英

Emberjs返回一個TypeError:stateManager是未定義的

[英]Emberjs returning a TypeError: stateManager is undefined

我目前正在構建一個emberjs,我正在努力讓路由器正常工作。 我想測試代碼,它總是給我一個TypeError:stateManager是未定義的錯誤。有什么我做錯了嗎? 僅供參考我現在沒有使用任何后端只有json數據。 編輯:我正在使用Ember 0.9.8.1

App = Em.Application.create({}); 

/* Main menu*/
App.MenuModel = Em.Object.extend({
    id : null,
    titre : null,
    questions : null,
    route: null
});

/* Submenu */
App.SubMenuModel = Em.Object.extend({
    titre : null, 
    id : null
});

/*Questions*/
App.QuestionsModel = Em.Object.extend({
    id : null,
    question : null,
    points: 0
}); 

/*************************************** Controller */
App.ApplicationController = Em.ArrayController.extend();

/* Main Menu controller */
App.MenuController = Em.ArrayController.extend({
    content:[],
        init : function(){
            var self = this;
            var data = menuComplet;
            console.log(menuComplet);
            console.log(this);
                data.forEach(function(item){
                    console.log(self);
                    self.pushObjects(App.MenuModel.create(item));
                }, data);
        }
});

/* Sub Menu controller */
App.SubMenuController = Em.ArrayController.extend({

});

/* Question controller */
App.QuestionController = Em.ArrayController.extend({

});


App.ApplicationView = Em.View.create({
    templateName: 'application'
 });


App.MenuView = Em.View.extend({
    templateName : "navigation", 
    contentBinding : "App.MenuController.content"
});

/****************************************** Router */
App.Router = Em.Router.extend({
    enableLogging : true,
    location : 'hash',
    root: Ember.State.extend({
    // STATES
        index: Ember.State.create({
            route: '/',
            connectOutlets: function (router) {
                router.get('App.ApplicationController').connectOutlet('index');
            }
        })
    })  
});
App.initialize();
  1. 使用最新版本的Ember.JS。 到最后一個版本我不是指最后一個穩定,我的意思是Ember.JS的最后一個版本(自己構建或在這里下載)
  2. 用Ember.Route替換Ember.State。
  3. 使用router.get('applicationController')更改router.get('App.ApplicationController')
  4. connectOutlet('index')似乎也是錯誤的。 它查找了IndexView和IndexController所以我猜你需要用'menu'替換'index'
  5. 用ApplicationView.extend替換ApplicationView.create( 在這里閱讀更多相關信息)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM