2

要求:将有几个按钮,并且在单击每个按钮时,立即出口将呈现一个视图。(不是页面中的其他网点)

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

这只是行不通。

谁能帮我做到这一点?

4

2 回答 2

0

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

像这样:

{{partial someTemplateName}}

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

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

于 2014-04-23T21:46:10.090 回答
0

您不能创建动态命名的网点,它会破坏代表您正在查看的页面的 url 核心成员大力宣扬的概念。

您应该只使用渲染助手在模板中渲染,并使用

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

在某些控制器/模板中,您可以添加额外的逻辑来决定您希望它如何交互。

此外,您可以在您的乘客路线下添加另一个资源,并在点击时发布一个托管该信息的插座。

于 2013-12-09T08:12:10.310 回答