在部分名称中使用变量

时间:2014-07-14 22:31:02

标签: ember.js

我在循环中有一个“摘要”列表:

  {{#each formSummaries}}
  {{/each}}

对于每个我想输出由每个formSummary.name:

命名的模板
{{#each formSummaries}}
  {{partial 'forms/summaries/' + name}}
{{/each}}

或者像这样:

控制器:

summaryPath: 'forms/summaries' + name

模板:

{{#each formSummaries}}
  {{partial summaryPath}}
{{/each}}

是否可以通过部分做这样的事情?是否有更“Ember”的方法来解决这个问题?提前谢谢。

1 个答案:

答案 0 :(得分:1)

把手看起来不错,除了我会指定itemController。通过使用计算属性和其他强大的控制器机制,这将使您可以获得每个渲染模型的花哨裤。

{{#each formSummaries itemController='summary'}}
  {{partial summaryPath}}
{{/each}}

现在,应该在该项目控制器中计算summaryPath。怎么样:

App.SummaryController = Ember.ObjectController.extend({
  summaryPath: function () {
    return 'templateName_' + this.get('name'); // You can tailor this part to suit your needs.
  }.property('name') 
)};

希望有所帮助!