【问题标题】:Accessing Values for Key in Handlebars & Ember访问 Handlebars 和 Ember 中的键值
【发布时间】:2013-06-20 21:51:14
【问题描述】:

是否可以在 Handlebars 中以 value-for-key 样式访问属性?

我有一个 CollectionView,它使用一个充满模型的 ArrayController。 CollectionView 有一个名为 'columns' 的属性,用于定义用于渲染的表格列配置。

理想情况下,我可以循环遍历每一列(参见下面的示例),确保只渲染我们想要渲染的列(然后应用格式和其他属性)

<tr>
  {{#each column in view.controller.columns}}
    <td>
      {{ view.content.[column.name] }}
    </td>
  {{/each}}
</tr>

这不起作用,它只是不返回任何内容。

我也尝试了这些其他样式,看看它们是否可行:

<tr>
  {{#each column in view.controller.columns}}
    <td>
      {{ view.content.name }}
      {{ view.content.[column.name] }}
      {{valForKey view.content column.name }}
    </td>
  {{/each}}
</tr>

valForKey 帮助器是我编写的 (source here),它确实显示正确的值但不绑定,因此当属性更改时值不会更新。

在 Ember 中处理这个用例的最佳方式是什么?

谢谢

【问题讨论】:

标签: ember.js handlebars.js


【解决方案1】:

现在 Ember 已经包含了 get 助手:

{{get object key}}

【讨论】:

    【解决方案2】:

    你可以创建一个绑定助手来显示列的值

    Ember.Handlebars.registerBoundHelper('dd', function(rowData, col) {
      return rowData[col];
    });
    

    有关详细信息,请参阅以下 SO 答案

    https://stackoverflow.com/a/27477602/908842

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-12-30
      • 2016-07-24
      • 2016-02-10
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多