Angular2多个绑定错误

Angular2多个绑定错误,angular,Angular,我的原始工作代码来自angular1,如下所示: <div align="center" ng-show="showWords" > <div ng-repeat="word in whichArray | limitTo:limitToMain" ng-if="$index % 2 == 0" class="row"> <div class="col" align="right" style="margin-right:1cm;">&

我的原始工作代码来自angular1,如下所示:

<div align="center" ng-show="showWords" >
    <div ng-repeat="word in whichArray | limitTo:limitToMain" ng-if="$index % 2 == 0" class="row">
        <div class="col" align="right" style="margin-right:1cm;"><h3>{{whichArray[$index]}}</h3></div>
        <div class="col" align="left" style="margin-left:1cm;"><h3>{{whichArray[$index + 1]}}</h3></div>    
    </div>
</div>

{{whichArray[$index]}
{{whichArray[$index+1]}
当我尝试将其转换为angular2代码时,如下所示:

<div align="center" *ngIf="showWords" >
    <div *ngFor="let word of whichArray | limitTo:limitToPresent" *ngIf="$index % 2 == 0" class="row">
        <div class="col" align="right" style="margin-right:1cm;"><h3>{{whichArray[$index]}}</h3></div>
        <div class="col" align="left" style="margin-left:1cm;"><h3>{{whichArray[$index + 1]}}</h3></div>    
    </div>
</div>

{{whichArray[$index]}
{{whichArray[$index+1]}
我得到
不能在一个元素上有多个模板绑定。仅使用一个名为“template”或前缀为*
error的属性。我已经创建了一个名为limito的管道


如何修复此错误?

此错误是因为您在angular2中的同一元素上使用ngFor和ngIf。您可以在单个元素上使用ngFor和ngIf中的任意一个。为此,angular2提供了
指令,以迭代代码将起作用的元素

<div align="center" *ngIf="showWords" >
  <template ngFor [ngForOf]="whichArray | limitTo:limitToPresent" let-item let-i="index">
    <div *ngIf="i % 2 == 0" class="row">
        <div class="col" align="right" style="margin-right:1cm;"><h3>{{whichArray[i]}}</h3></div>
        <div class="col" align="left" style="margin-left:1cm;"><h3>{{whichArray[i + 1]}}</h3></div>
    </div>
  </template>
</div>

{{whicharay[i]}
{{whichArray[i+1]}
按角度4折旧,因此您可以使用


{{whicharay[i]}
{{whichArray[i+1]}

错误是因为您在angular2的同一元素上使用ngFor和ngIf。您可以在单个元素上使用ngFor和ngIf中的任意一个。为此,angular2提供了
指令,用于迭代代码下的元素

<div align="center" *ngIf="showWords" >
  <template ngFor [ngForOf]="whichArray | limitTo:limitToPresent" let-item let-i="index">
    <div *ngIf="i % 2 == 0" class="row">
        <div class="col" align="right" style="margin-right:1cm;"><h3>{{whichArray[i]}}</h3></div>
        <div class="col" align="left" style="margin-left:1cm;"><h3>{{whichArray[i + 1]}}</h3></div>
    </div>
  </template>
</div>

{{whicharay[i]}
{{whichArray[i+1]}
按角度4折旧,因此您可以使用


{{whicharay[i]}
{{whichArray[i+1]}

Angular2没有$index它唯一的索引Angular2没有$index它唯一的索引感谢这个答案,它成功了!给你:p!欢迎朋友:)谢谢你的回答,它成功了!给你:p!欢迎朋友:)