#templates #ember.js #render
#шаблоны #ember.js #рендеринг
Вопрос:
Добрый день
Я безуспешно пытаюсь рендерить шаблон представления без компоновки или в пустой макет.
Вот мой код в маршруте:
renderTemplate: function(controller, model){
this.render('myViewTemplate', {// the template to render, referenced by name
into: 'otherLayout', // the template to render into, referenced by name
outlet: 'main' // the outlet inside `options.template` to render into.
})
}
Я получаю сообщение об ошибке: other_layout не может быть найден.
other_layout.hbs находится в папке templates и содержит:
{{outlet}}
есть идеи?
Спасибо.
Ответ №1:
Вам не обязательно использовать подчеркивание, вы должны использовать camelCase,
Измените свой код на
renderTemplate: function(controller, model){
this.render('myViewTemplate', {// the template to render, referenced by name
into: 'otherLayout', // the template to render into, referenced by name
outlet: 'main' // the outlet inside `options.template` to render into. {{outlet}} and {{outlet 'main'}} are synonymous,
})
}
возможно, вам потребуется добавить контроллер, назначенный этому маршруту, например :
controller: 'post', // the controller associated with the 'post' Route
надеюсь, это сработает.
renderTemplate: function(controller, model) {
let favController = this.controllerFor('favoritePost');
// Render the `favoritePost` template into
// the outlet `posts`, and display the `favoritePost`
// controller.
this.render('favoritePost', {
outlet: 'posts',
controller: favController
});
}
Комментарии:
1. Да, я использовал camelCase, извините, я также установил контроллер и модель и получаю то же сообщение об ошибке
2. какую версию вы используете?
3. Я использую Ember 2.4.0
4. по-видимому, это проблема в 2.4 github.com/emberjs/ember.js/issues/10780 —> Эта проблема возникла в версии 2.4.0
5. да, но в текущей версии я не знаю, была ли решена проблема, если я обновлю приложение, возможно, мне нужно внести некоторые изменения..