Angular ngIf在ngFor工作,我想了解原因

Angular ngIf在ngFor工作,我想了解原因,angular,angular-ng-if,angular-ngfor,Angular,Angular Ng If,Angular Ngfor,我正在编写一个小的angular应用程序,用户可以在其中选择一部电影并将其添加到自己最喜欢的列表中。然后显示收藏列表,每个选定的电影都有一个按钮,用于显示/隐藏电影情节所在的div 这是我的html: <div *ngFor="let favMovie of favMovies; index as index" class=""> <div class="card m-2" style="width:

我正在编写一个小的angular应用程序,用户可以在其中选择一部电影并将其添加到自己最喜欢的列表中。然后显示收藏列表,每个选定的电影都有一个按钮,用于显示/隐藏电影情节所在的div

这是我的html:

<div *ngFor="let favMovie of favMovies; index as index" class="">
    <div class="card m-2" style="width: 12rem;">
        <img class="card-img-top" src="{{favMovie.poster}}" alt="Card image cap">
        <div class="card-body">         
            <button class="btn btn-sm btn-outline-primary mb-2" (click)="showPlot(index)">Plot</button>         
          <div class="text-center">
          <h5 class="card-title"><b>{{favMovie.title}}</b></h5>
          </div>
          <div *ngIf="showPlotValue[index]">
             <p class="card-text">{{favMovie.plot}}</p>
          </div>
        </div>    
      </div>
</div>
奇怪的是,它正在工作。既然将
showCastValue
声明为一个具有单个值的数组,我就可以访问
this.showclotvalue[index]
,以获取大于1的索引,这是怎么回事

 *ngIf="showPlotValue[index]" 
当没有值时,不测试真/假!它对值存在性的测试:如果没有值,那么它将返回false(但是如果有值,它将测试它是否为true)检查Truthy vs true和falsy vs false。这篇文章应该对你有帮助


但这是正确的处理方法吗?@TotoBriac一如既往,这取决于你想要实现什么。乍一看,这应该没问题。
 *ngIf="showPlotValue[index]"