Рендеринг Ember без или пустой компоновки

#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. да, но в текущей версии я не знаю, была ли решена проблема, если я обновлю приложение, возможно, мне нужно внести некоторые изменения..