Ember.js,使用 {{each}} 循环遍历两个数组
Ember.js, Looping through two array's with {{each}} loops
我正在使用 Ember.js 并且正在构建动态 table。本质上,用户上传一个 TSV 文件,我在 table 中显示数据。但是这些文件的格式不统一,每次都会不同,所以我不能硬编码列名。现在我有一个列名数组,还有一个包含 TSV 文件数据的对象数组。 Ember 是否可以使用两个 {{each}} 循环来显示数据?我的问题是在第二个循环中,我不能对第二个循环变量使用点符号或括号。是否有解决此常见问题的“ember 方式”?
<table class="table">
<thead>
<tr>
{{#each columns as |name|}}
<th>{{name}}</th>
{{/each}}
</tr>
</thead>
<tbody>
{{#each fileData as |data|}}
<tr>
{{#each columns as |name|}}
<td>{{data.name}}</td> <!-- doesn't work -->
<td>{{data[name]}}</td> <!-- also doesn't work -->
{{/each}}
</tr>
{{/each}}
</tbody>
</table>
您正在尝试使用动态列表访问 Ember 对象的属性。您正在寻找的是 get helper.
在这种情况下:
{{#each fileData as |data|}}
{{#each columns as |name|}}
<td>{{get data name}}</td>
{{/each}}
{{/each}}
我正在使用 Ember.js 并且正在构建动态 table。本质上,用户上传一个 TSV 文件,我在 table 中显示数据。但是这些文件的格式不统一,每次都会不同,所以我不能硬编码列名。现在我有一个列名数组,还有一个包含 TSV 文件数据的对象数组。 Ember 是否可以使用两个 {{each}} 循环来显示数据?我的问题是在第二个循环中,我不能对第二个循环变量使用点符号或括号。是否有解决此常见问题的“ember 方式”?
<table class="table">
<thead>
<tr>
{{#each columns as |name|}}
<th>{{name}}</th>
{{/each}}
</tr>
</thead>
<tbody>
{{#each fileData as |data|}}
<tr>
{{#each columns as |name|}}
<td>{{data.name}}</td> <!-- doesn't work -->
<td>{{data[name]}}</td> <!-- also doesn't work -->
{{/each}}
</tr>
{{/each}}
</tbody>
</table>
您正在尝试使用动态列表访问 Ember 对象的属性。您正在寻找的是 get helper.
在这种情况下:
{{#each fileData as |data|}}
{{#each columns as |name|}}
<td>{{get data name}}</td>
{{/each}}
{{/each}}