2013-12-09 2 views
2

Требование: будет несколько кнопок, и при нажатии каждой кнопки немедленная розетка будет отображаться с видом. (а не другие выходы, присутствующие на странице)имя динамической розетки в ember js

Предположим, что я создаю выходы в #each.

{{#each item in model}} 
<#link-to 'passenger' item.id>Open Corresponding Outlet </link-to> 
{{outlet item.id}} 
{{/each}} 

и со спины я делаю выход:

model: function (params) { 
    return [ 
       { id: params.passenger_id} 
      ] 
    }, 

renderTemplate: function() { 
    this.render({ outlet: this.get('controller.model')[0].id }); 
    }, 

Это просто не работает.

Может ли кто-нибудь помочь мне сделать это?

ответ

0

Вы не можете создавать динамические именованные выходы, и это сломает URL-адрес, представляющий просматриваемую вами страницу, которую основные члены проповедуют.

Вы должны просто сделать в шаблоне с использованием визуализации помощника, и использовать

{{#each item in model}} 
    {{render 'something' item}} 
{{/each}} 

А внутри что-то контроллер/шаблон можно добавить дополнительную логику для того, как вы хотели бы, чтобы это взаимодействие.

Кроме того, вы можете просто добавить еще один ресурс под своим пассажирским маршрутом и создать рекламный ролик, на котором размещена эта информация при нажатии.

0

Не уверен, что вы все еще ищете решение, так как @ kinpin2k упомянул, что вы не можете использовать динамические выходы, но, возможно, поможет динамическая частица.

Как так:

{{partial someTemplateName}} 

Где someTemplateName может быть любым вычисленным свойство в контроллере. Если свойство возвращает ложь, то ничего не будет отображаться.

Вот эта ссылка: http://emberjs.com/api/classes/Ember.Handlebars.helpers.html#toc_bound-template-names

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