Html 如何向ngfor中的元素添加id以及在ngfor中有条件地创建元素

Html 如何向ngfor中的元素添加id以及在ngfor中有条件地创建元素,html,css,angular,ngfor,angular-ng-if,Html,Css,Angular,Ngfor,Angular Ng If,我想使用ngfor为循环中的每个元素构建一个div,其中包含3个内部div。这三个内部div都有一个span,显示元素中的一些文本(元素只是一个json系列的键值对,每个span的内容都是给定键的值) 我想做两件事: 根据ngfor中的索引加上一些字符串,为外部div提供一个id。我无法通过使用使其工作(见下文) [attr.id]=“元素-i” 如果元素具有给定键(见下文)的值,则仅创建一个div *ngIf=“{element.key3!=null}” 这是我的代码尝试 <div

我想使用ngfor为循环中的每个元素构建一个div,其中包含3个内部div。这三个内部div都有一个span,显示元素中的一些文本(元素只是一个json系列的键值对,每个span的内容都是给定键的值)

我想做两件事:

  • 根据ngfor中的索引加上一些字符串,为外部div提供一个id。我无法通过使用使其工作(见下文)

    [attr.id]=“元素-i”

  • 如果元素具有给定键(见下文)的值,则仅创建一个div

  • *ngIf=“{element.key3!=null}”

    这是我的代码尝试

      <div *ngFor="let element of data; index as i" [attr.id]="element-i">
          <div><span><b>Element number {{element.key1}}</b></span></div>
          <div><span><b>Elmenent value 2:</b>{{element.key2}}</span></div>         
          <div *ngIf="{{element.key3!=null}}"><span><b>Element value 3:</b>{{element.key3}}</span></div>
       </div>
    
    
    元素编号{{Element.key1}}
    Elmenent值2:{{element.key2}
    元素值3:{Element.key3}
    
    在角5中可以这样做吗

  • 如果不添加单引号,angular将尝试计算
    element-i
    表达式,该表达式无效
  • 试试这个

    <div *ngFor="let element of data; index as i" [attr.id]="'element-'+i">
    
    <div *ngIf="element.key3!=null"><span><b>Element value 3:</b>{{element.key3}}</span></div>