5

是否可以在 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 中处理这个用例的最佳方法是什么?

谢谢

4

2 回答 2

1

现在 Ember 已经包含助手:

{{get object key}}
于 2018-06-13T19:44:53.487 回答
0

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

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

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

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

于 2014-12-24T15:34:38.737 回答