html - 如何将id添加到ngfor中的元素以及在ngfor中有条件地创建元素

标签 html css angular ngfor angular-ng-if

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

我想做两件事:

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

    让它工作(见下文)

    [attr.id]="element-i"

  2. 如果元素具有给定键(见下文)的值,则只创建一个 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">
  1. 当使用 *ngIf 时,你不需要 {{,它需要一个表达式

试试看

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

关于html - 如何将id添加到ngfor中的元素以及在ngfor中有条件地创建元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49575468/

相关文章:

html - 制作自定义导航栏时遇到问题

javascript - Angular5可以激活守卫:Types of property 'canActivate' are incompatible

jquery - 关于使用 jquery 表单插件上传文件时如何获取文本值

javascript - 自定义光标悬停状态

javascript - 使用 javascript 条件隐藏元素

javascript - clearInterval() 在 Angular 5 应用程序中不起作用

angular - 选择动画不适用于 Angular (7) Material 选项卡

javascript - 退出键击键退出

html - 使图片在图层中水平居中

jquery - 使用 jQuery 模拟 Windows 8 Live Tiles 动画。如何快速开始动画然后缓慢结束?