ember js中的动态插座名称

时间:2013-12-09 06:44:44

标签: ember.js outlet

要求:按钮很少,点击每个按钮时,立即出口将以视图呈现。 (不是页面中的其他出口)

假设我在#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 });
    },

这不起作用。

任何人都可以帮我这么做吗?

2 个答案:

答案 0 :(得分:0)

您无法创建动态命名的商店,它会破坏代表您正在查看的页面的网址,核心成员会大量宣传这些网址。

您应该使用渲染助手在模板中渲染,然后使用

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

在控制器/模板内部,您可以添加额外的逻辑,以便您希望它如何进行交互。

此外,您可以在您的旅客路线下添加其他资源,并在点击时提供信息来存储该信息。

答案 1 :(得分:0)

不确定你是否还在寻找解决方案,因为@ kinpin2k提到你不能使用动态插座,但也许动态部分会有所帮助。

像这样:

{{partial someTemplateName}}

其中someTemplateName可以是控制器中的任何计算属性。如果该属性返回falsy,则不会显示任何内容。

以下是参考:http://emberjs.com/api/classes/Ember.Handlebars.helpers.html#toc_bound-template-names