【问题标题】:How to use a variable from ngfor in ngif?如何在 ngif 中使用来自 ngfor 的变量?
【发布时间】:2018-04-19 08:59:05
【问题描述】:

在*ngIf 中使用来自*ngFor 的变量时遇到问题:

<li *ngFor="let event of enum ; let i = index">
  <textarea pInputTextarea autoResize="autoResize" [(ngModel)]=x[i] placeholder="xxx" formControlName=desc{{i}}></textarea>

  <div class="alert" *ngIf="!rForm.controls['desc'" +{{ i }}+ "].valide">
     {{ i }}
  </div>
</li>

我尝试单独使用ngif,它工作正常:

<div class="alert" *ngIf=i> *****</div> 

我能够在 DOM 中看到 0 .. 1 .. 2 ..。

在模板中进行连接的正确方法是什么?

【问题讨论】:

  • 你想串联什么?
  • 我会尝试类似"*ngIf="!rForm.controls['desc' + i ].valid"&gt;
  • 就是这样,成功了,谢谢队友
  • 尽量不要在同一个标​​签中使用[(ngModel)]和formControlName(formControlName是ReactiveForm,[(ngModel)]是模板驱动的Form)

标签: html angular ngfor angular-ng-if


【解决方案1】:
<li *ngFor="let event of enum ; let i = index">
  <textarea pInputTextarea autoResize="autoResize" [(ngModel)]=x[i] placeholder="xxx" formControlName=desc{{i}}></textarea>

  <div class="alert" *ngIf="!rForm.controls['desc'" + i + "].valide">
     {{ i }}
  </div>
</li>

我不需要包含在插值指令{{}} 中,因为它不是您想要实现的字符串插值。将其视为变量并像使用普通变量一样使用 +。

希望这会有所帮助!

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2022-10-15
    • 2018-04-06
    • 1970-01-01
    • 2019-05-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多