ngIf在角度2不工作

时间:2017-06-05 11:59:25

标签: angular angular2-directives angular-ng-if ngif

<div *ngFor="let message of messages">
  <div *ngIf="message.user===user">

  </div>

 <input [(ngModel)]="message"  />
<button (click)="sendMessage()">Send</button>

此处user是我在组件中指定的变量。这是一个字符串值&#39; user1&#39;。如果message.user === user1那么我需要展示一些东西,但它不起作用。

4 个答案:

答案 0 :(得分:1)

根据您当前的代码块,您将message(对象实例)绑定到input [(ngModel)] *ngFor,这将导致error

当您在input中输入一个字符时,它会将message(对象)转换为字符串,然后丢失原始字段(例如user)。也许这就是你目前情况的原因。

这里很简单 demo 可能有助于摆脱这种情况。

答案 1 :(得分:0)

你需要这样的基本代码......至少。

<div *ngFor="let message of messages">
  <div *ngIf="message.user === user">
      user: {{ message.user }}
  </div>
</div>
<input [(ngModel)]="message"  />
<button (click)="sendMessage()">Send</button>

你的组件也应该有“消息”道具。

答案 2 :(得分:0)

我提供了一些演示..因为你没有添加你的.ts文件只是通过这个: https://angular.io/docs/ts/latest/api/common/index/NgIf-directive.html

答案 3 :(得分:0)

对不起那些错误只是因为我错过了关闭一个div感谢您的回复