2013-05-08 4 views
0

Я пытаюсь сделать вид динамически в ember.jsEmber не смог найти шаблон

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

Я имею в/шаблоны my_exp.hbs

Но получить

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

Есть лучший подход для этого? Может ли кто-нибудь предлагать ресурсы?

+0

, если вы идете в консоль и введите 'Ember.TEMPLATES', вы видите ваш шаблон в коллекции? – MilkyWayJoe

+0

Да: Ember.TEMPLATES; Объект {приложение: функция, ... my_exp: function ...} –

+1

Что мой друг ... работал. Спасибо –

ответ

3

Последнее обновление для Ember удалило defaultContainer для поиска шаблонов. Для людей, создающих вручную, это создало некоторые проблемы.

Для достижения желаемого вам необходимо использовать createChildView.

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

(см fiddle)

+0

Спасибо, что ответили. Теперь я получаю Ошибка неактивности: утверждение не выполнено: вы должны передать экземпляр или подкласс View –

+0

Упс, исправлено сейчас, вам необходимо передать класс представления для создания экземпляра из –

Смежные вопросы