如何将自定义单元格模板添加到 Ember-Table 表
-
21-12-2019 - |
题
过去,我使用了普通车把模板来创建一个表格,其中包含指向其他模板的链接,如下所示。
<tbody>
{{#each}}
<tr>
<th>
{{#link-to 'entities.entity' actorId}}{{/link-to}}
</th>
{{#each alsoKnownAs}}
<td>
{{this}}
</td>
{{/each}}
</tr>
{{/each}}
</tbody>
使用 Ember-Table
我已将该模板重构为框架
<div style="height: 800px;width: 100%;">
{{table-component
hasFooter=false
enableContentSelection=true
columns=columns
content=controller}}
</div>
我的 控制器 现在看起来像
entitiesController = Ember.ArrayController.extend
sortAscending: true
sortProperties: ['displayName']
profile_link: 'entities/profile_link'
columns: Ember.computed ->
AKA = Ember.Table.ColumnDefinition.create
columnWidth: 750
headerCellName: 'Also Known As'
textAlign: 'text-align-left'
getCellContent: (row) -> row['alsoKnownAs'].join(', ')
displayName = Ember.Table.ColumnDefinition.create
columnWidth: 200
headerCellName: 'Entity Name'
textAlign: 'text-align-left'
TableCellViewClass: 'profile_link'
getCellContent: (row) -> row['displayName']
[displayName, AKA]
和我的自定义模板 实体/profile_link
<th>{{#link-to 'entities.entity' actorId}}{{/link-to}}</th>
如何设置我的控制器,以便当我单击“实体名称”列中的单元格时它链接到我的自定义模板?
解决方案
代替 TableCellViewClass: 'profile_link'
您可以内联定义模板:
tableCellViewClass: Ember.Table.TableCell.extend
template: Em.Handlebars.compile """
{{#link-to 'entities.entity' view.cellContent}}
{{view.cellContent}}
{{/link-to}}
"""
不隶属于 StackOverflow