Handlebars和Ember中访问键的值

5

在Handlebars中,是否可以以键值对的方式访问属性?

我有一个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>
< p > valForKey 辅助函数是我写的(源代码在这里),它确实显示了正确的值,但是没有绑定,所以当属性更改时该值不会更新。

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

谢谢


这应该会指引你朝着正确的方向 https://dev59.com/DWjWa4cB1Zd3GeqPqW7X#15053152 - ianpetzer
2个回答

1

目前,Ember已经包含了get助手:

{{get object key}}

0

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

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

请参考以下SO答案以获取更多详细信息。

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


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接