如何在ngfor中为元素添加id和在ngfor中有条件地创建元素

时间:2018-03-30 13:33:25

标签: html css angular ngfor ngif

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

我想做两件事:

  1. 根据ngfor中的索引加上一些字符串,为外部div赋予一个id。我无法通过

    使其工作(见下文)

    [attr.id] = “元件-I”

  2. 如果元素具有给定键的值(参见下文),则只创建一个div

  3. * 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>
    

    这是否可以在角度5中进行?

1 个答案:

答案 0 :(得分:2)

  1. 如果您不添加单引号,则angular会尝试评估element-i表达式,该表达式无效
  2. 试试这个

    <div *ngFor="let element of data; index as i" [attr.id]="'element-'+i">
    
    1. 使用* ngIf时,您不需要{{,它需要表达
    2. 试试

      <div *ngIf="element.key3!=null"><span><b>Element value 3:</b>{{element.key3}}</span></div>