使用ng-container
问题描述:在使用ngFor指令时,如果数组为空,可以使用ngFor else语句来显示一些默认内容,但是如果在模板中使用了else语句,它会在ngFor循环的时候重复显示多次。这是因为else语句会与ngFor循环语句重复执行。
解决方法是使用ng-container标签来包含ngFor指令和其他可能需要执行的语句。ng-container本身并不会在DOM结构中渲染出来,只是用来包含其他元素和指令。
代码示例:
在上面的示例中,如果数组的长度为0,则显示暂无数据,否则循环渲染数组中的元素。使用ng-container标签将ngIf指令和ngFor指令包含在一起,避免了重复执行的问题。