如何在Angular 7的* ngFor中使用* ngIf?

时间:2018-12-17 11:08:09

标签: angular ngfor ngif

我在DocumentModel文档中有多个项目,除了“内容”之外,我都希望显示这些项目。我已经尝试通过检查商品名称来排除它,但是无论如何它都显示出来:

<p *ngFor="let item of (document | keyvalue)">
    <b *ngIf="item.key != 'content'">{{item.key}}:</b> {{item.value}}
</p>

我也尝试使用不带''的内容,这也不起作用。

如何用Java制作类似if(!key.equals("content"))的东西?

文档模型

export class DocumentModel 
{ 
    messageType: string; 
    content: string; 
    failed: boolean; 
    string1: string; 
    string2: string; 
}

2 个答案:

答案 0 :(得分:0)

You can create pipe to access key

import { PipeTransform, Pipe } from '@angular/core';

@Pipe({name: 'keys'})
export class KeysPipe implements PipeTransform {
  transform(value, args:string[]) : any {
    let keys = [];
    for (let key in value) {
      keys.push({key: key, value: value[key]});
    }
    return keys;
  }
}
html:
<span *ngFor="let item of content | keys">           
   <b *ngIf="item.key != 'content'">{{item.key}}:</b> {{item.value}}
</span>

为列表中的内容数据编写过滤器。

答案 1 :(得分:0)

这是您的初始代码:

<p *ngFor="let item of (document | keyvalue)">
    <b *ngIf="item.key != 'content'">{{item.key}}:</b> {{item.value}}
</p>

但是,如果我查看*ngFor,似乎该项目可以是documentkeyvalue。所以我的问题是: 您确定documentkeyvalue的字段为key吗?