某天调试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>