访问Handlebars和Ember中Key的值

d2k*_*agw 5 handlebars.js ember.js

是否可以在Handlebars中以值为准的方式访问属性?

我有一个CollectionView,它使用一个充满模型的ArrayController.CollectionView有一个名为"columns"的属性,用于定义用于呈现的表列配置.

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

<tr>
  {{#each column in view.controller.columns}}
    <td>
      {{ view.content.[column.name] }}
    </td>
  {{/each}}
</tr>
Run Code Online (Sandbox Code Playgroud)

这不起作用,它只返回没有内容.

我也尝试过这些其他款式,看看它们是否有效:

<tr>
  {{#each column in view.controller.columns}}
    <td>
      {{ view.content.name }}
      {{ view.content.[column.name] }}
      {{valForKey view.content column.name }}
    </td>
  {{/each}}
</tr>
Run Code Online (Sandbox Code Playgroud)

valForKey助手是一个我写的(源在这里),这确实显示正确的值,但不结合,所以价值不更新的属性发生变化时.

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

谢谢

Kal*_*man 0

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

Ember.Handlebars.registerBoundHelper('dd', function(rowData, col) {
  return rowData[col];
});
Run Code Online (Sandbox Code Playgroud)

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

/sf/answers/1923432171/