2012-07-23 4 views
0

Je suis actuellement en train de construire un emberjs et j'essaie de faire fonctionner le routeur. Je voulais tester le code et il me renvoie toujours un TypeError: stateManager est une erreur non définie. Y a-t-il quelque chose qui ne va pas? FYI Je n'utilise aucun backend pour l'instant seulement des données json. Edit: J'utilise Ember 0.9.8.1Emberjs retournant un TypeError: stateManager est indéfini

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(); 
+0

Quelle version de ember.js sont vous utilisez? – Rajat

+0

ember-0.9.8.1 non minifié – Lunatikzx

Répondre

2
  1. Utilisez la dernière version de ember.js. Par la dernière version, je ne veux pas dire dernier stable, je veux dire la dernière version de Ember.JS (le construire vous-même ou le télécharger here)
  2. Remplacer Ember.State avec Ember.Route.
  3. Modifier router.get ('App.ApplicationController') avec router.get ('applicationController')
  4. connectOutlet ('index') semble également erroné. Il semble pour IndexView et IndexController donc je suppose que vous avez besoin de remplacer « index » avec « menu »
  5. Remplacer ApplicationView.create avec ApplicationView.extend (lire davantage here)
+0

il retourne la racine: Em.Route.extend ({undefined – Lunatikzx

+0

Il n'y a pas connectOutlet dans 0.9.8.1 – zaplitny

+0

ce qui remplace les prises de connexion ... im essayant de suivre sur le site docs ici et je suis currenbtly coincé – Lunatikzx

Questions connexes