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

Posted

技术标签:

【中文标题】如何在 ngfor 中向元素添加 id 以及在 ngfor 中条件创建元素【英文标题】:How to add id to element in ngfor and conditional creation of element in ngfor 【发布时间】:2018-09-09 13:21:35 【问题描述】:

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

我想做两件事:

    根据 ngfor 中的索引加上一些字符串,给外部 div 一个 id。我无法使用

    让它工作(见下文)

    [attr.id]="element-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>

这可以在 Angular 5 中做到吗?

【问题讨论】:

【参考方案1】:
    如果不添加单引号,Angular 会尝试计算 element-i 表达式,这是无效的

试试这个

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

试试看

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

【讨论】:

以上是关于如何在 ngfor 中向元素添加 id 以及在 ngfor 中条件创建元素的主要内容,如果未能解决你的问题,请参考以下文章

在 React 中向 DOM 添加新元素

如何在AS3中向数组添加元素?

如何在 JavaScript 中向 DOM 元素添加类?

如何在 Forge API 中向元素添加参数

如何在 React native redux 的 reducer 中向数组添加元素?

如何在 Ember.js 中向 DOM 添加特定元素?