2012-12-27 9 views
1

Je suis en train de tester les principales fonctionnalités de Ember.js. Selon le Guide fourni, le code suivant, en utilisant simplement les modèles de liaisons et de mise à jour automatique, doit générer Hey there! This is My Ember.js Test Application! mais à la place, il sort Hey there! This is !.Ember.js Liaisons et gabarits

JS:

// Create the application. 
var Application = Ember.Application.create(); 

// Define the application constants. 
Application.Constants = Ember.Object.extend({ 
    name: 'My Ember.js Test Application' 
}); 

// Create the application controller. 
Application.ApplicationController = Ember.Controller.extend(); 

// Create the application view. 
Application.ApplicationView = Ember.View.extend({ 
    templateName: 'application', 
    nameBinding: 'Application.Constants.name' 
}); 

// Create the router. 
Application.Router = Ember.Router.extend({ 
    root: Ember.Route.extend({ 
     index: Ember.Route.extend({ 
      route: '/' 
     }) 
    }) 
}) 

// Initialize the application. 
Application.initialize(); 

HBS:

<script type="text/x-handlebars" data-template-name="application"> 
    <h1>Hey there! This is <b>{{name}}</b>!</h1> 
</script> 

Y at-il quelque chose que je fais mal?

Répondre

2

Comme vous faites référence à la propriété d'une vue à partir du modèle, vous devez la précéder du mot-clé view.

Donc, essayez

<script type="text/x-handlebars" data-template-name="application"> 
    <h1>Hey there! This is <b>{{view.name}}</b>!</h1> 
</script> 

il devrait fonctionner.

Oh, j'ai oublié quelque chose, la reliure est fausse, vous devez vous référer à un objet qui n'est pas une classe. Essayer

Application.constants = Ember.Object.create({ 
    name: 'My Ember.js Test Application' 
}); 

et

Application.ApplicationView = Ember.View.extend({ 
    templateName: 'application', 
    nameBinding: 'Application.constants.name' 
}); 
+0

Non, je vois toujours la même chose. Et c'est sans aucune modification, j'utilise le kit de démarrage tel que servi par le site web Ember.js. –

+0

mise à jour réponse :) –

+0

Ouais, il se trouve que mon erreur utilisait 'Ember.Object.extend' au lieu de' Ember.Object.create'. Une dernière chose, pourquoi le guide Ember.js omet le préfixe 'view.' quand il s'agit de vars guidon? –