2013-05-08 2 views
0
modèle

Je tente de rendre une vue dynamique dans ember.jsEmber incapable de trouver

Resume.ItemView = Em.View.create({ 
    click: function(){ 
    var view = Em.View.create({ 
     templateName: 'my_exp'}); 
    view.append(); 
    }, 
}); 

J'ai dans/templates my_exp.hbs

Mais obtenir

Uncaught Error: assertion failed: You specified the templateName my_exp for <Ember.View:ember261>, but it did not exist. 

est-il une meilleure approche pour essayer de faire cela? Quelqu'un peut-il suggérer des ressources?

+0

si vous allez à la console et tapez 'Ember.TEMPLATES', vous voyez votre modèle dans la collection? – MilkyWayJoe

+0

oui: Ember.TEMPLATES; Objet {application: function, ... mon_exp: function ...} –

+1

Que mon ami ... a travaillé. Merci –

Répondre

3

Une mise à jour récente d'Ember a supprimé le defaultContainer pour la recherche de modèles. Pour les personnes créant manuellement des vues, cela a créé des problèmes.

Pour obtenir ce que vous voulez, vous devez utiliser createChildView.

Resume.ItemView = Em.View.create({ 
    click: function(){ 
    var view = this.createChildView(Ember.View, { 
     templateName: 'my_exp' 
    }); 
    view.append(); 
    }, 
}); 

(voir fiddle)

+0

Merci pour votre réponse. Erreur non détectée: l'assertion a échoué: Vous devez passer l'instance ou la sous-classe de View –

+0

Oups, corrigé maintenant, vous devez passer une classe de vue à instancier depuis –

Questions connexes