Angular 2 - 脚本表达式为字符串

时间:2017-09-12 11:30:37

标签: angular scripting kendo-grid angular2-template

我正在使用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,这是表达式而不是字符串;)

0 个答案:

没有答案