某天调试angular的时候,开始报这个错:

Only one structural directive can be applied

或者

Can’t have multiple template bindings on one element. Use only one attribute prefixed with *

翻译过来就是 “只能应用一个结构指令

看了一下我的代码

<div  *ngIf="type==0" *ngFor="let data of listOfData"     >

</div>

本意是想先通过if控制是否显示组件,再去渲染数据,结果angular直接报错,也就是说ngIf 和 ngFor 不能放在同一级使用。解决办法也很简单,外面再套一层就可以了。


          <div  *ngIf="1==0"      >
              <div *ngFor="let data of listOfData">

              </div>
          </div>
分类: 前端