我正在使用angular 2应用程序处理我的基本表。我想在我的孩子(我称之为基本表)中创建图标表达式,并在我的基本表中使用它们。
对于我使用基本表的每个孩子,我必须声明一个列数组。
{ name: 'Bordero Typ', prop: 'borderoType', iconExpression:"dataItem[column.prop] == 'Delivery' ? 'fa fa-long-arrow-left' : 'fa fa-long-arrow-right'"}
我正在为我的表使用kendo网格,并为我的列提供不同的模板。 我为我的图标表达式创建了以下模板。
<kendo-grid-column *ngIf="column.iconExpression"
field="{{column.prop}}" title="{{column.name}}" width="{{column.width}}"
[headerStyle]="{'font-size': fontSizeHeaderVal, 'padding': paddingTableVal }"
[style]="{'font-size': fontSizeTableVal, 'padding': paddingTableVal}">
<ng-template kendoGridCellTemplate let-dataItem>
<div>
<i class="{{column.iconExpression}}"> </i>
</div>
</ng-template>
但它不起作用。对于angular,这是一个字符串,没有表达式,因此没有结果。如果我在模板中写{{column.iconExpression}},它会显示整个字符串而不是表达式的结果。
编辑:
我有一个bordero组件,可以调用我的表。
bordero.component.html:
<app-locoso-table *ngIf="finishedLoadingBorderos" [tableColumns]="columns"
[tableData]="locosoDataService.get('borderos')"
[rowHeight]="28" style="font-size: 10pt; vertical-alignment: center"
(clickEvent)="onSelectElement($event)"
[tableHeight]="heightOfPrimaryElement">
</app-locoso-table>
我的列位于文件bordero.component.ts中的数组中:
private columns = [{ name: 'Bordero Typ', prop: 'borderoType', iconExpression:"dataItem[column.prop] == 'Delivery' ? 'fa fa-long-arrow-left' : 'fa fa-long-arrow-right'"}]
将列转移到表中不是问题,我的问题是怎么说:hey angular2,这是表达式而不是字符串;)