在ngFor中插值标签属性值始终会出现“在期望表达的位置插值({{}})”错误

时间:2018-07-26 16:02:07

标签: angular typescript devextreme

我正在使用Devextreme's Datatable,我想通过列配置数组动态配置表。

想法是使用ngFor迭代此数组并动态设置列标记属性。

问题是:我们如何在ngFor内插值/注入/以反常方式设置HTML属性的值?

这是我到目前为止尝试过的...

1)尝试了简单的字符串插值:

<dxi-column *ngFor="let col of columns" caption="{{col.caption}}" [visible]="{{col.show}}"></dxi-column>

但是我遇到了以下错误:

  

需要插值({{}})的地方

2)尝试过[attr.XXXX]={{}}和字符串插值,所以我得到了:

<dxi-column *ngFor="let col of columns" [attr.caption]="{{col.caption}}" [attr.visible]="{{col.show}}"></dxi-column>

但是我总是遇到以下错误:

  

需要插值({{}})的地方

3)尝试了一次绝望,错误和可怕的尝试……

<dxi-column *ngFor="let col of columns" [attr.caption]=col.caption [attr.visible]=col.show></dxi-column>

但是什么也没有,仍然没有用(这种尝试不太可能,但是非常绝望)。

仅是常识,如果有兴趣,这也是我的测试配置数组:

  id: TableCol = {datafield:"id", show:"true" };
  desc: TableCol = {datafield:"idNodo", show:"showdesc"};

  columns: TableCol[] = [this.id, this.desc]

PS:如有需要,我将为您进行澄清

2 个答案:

答案 0 :(得分:1)

在使用输入语法时应将其删除,因此从可见位置删除

 public void receiveDetections(Detector.Detections<TextBlock> detections) {
        mGraphicOverlay.clear();
        SparseArray<TextBlock> items = detections.getDetectedItems();
        for (int i = 0; i < items.size(); ++i) {
            TextBlock item = items.valueAt(i);
            OcrGraphic graphic = new OcrGraphic(mGraphicOverlay, item);
            mGraphicOverlay.add(graphic);
        }
    }

<dxi-column *ngFor="let col of columns" caption="{{col.caption}}" [visible]="col.show"></dxi-column>

答案 1 :(得分:0)

您可以像以前一样进行操作,也可以使用方括号:

<dxi-column *ngFor="let col of columns" [caption]="col.caption" [visible]="col.show"></dxi-column>