请考虑以下代码段:
<div class="col-4" style="text-align: center;">
<skin-stat-circle>{{statByType('Users')?.count}}</skin-stat-circle><br>
<span>{{statByType('Users')?.label}}</span>
</div>
是否可以使用statByType('Users')
将*ngFor
分配给let...
中的本地模板变量?
修改
在@incaner的帮助下解决了这个问题。这很有用 - 就像很多。
<ng-template #statTemplate let-stat="stat">
<div class="col-4" *ngIf="stat">
<skin-stat-circle >{{stat.count}}</skin-stat-circle>
<br>
<span>{{stat.label}}</span>
</div>
</ng-template>
<skin-stat-group>
<div class="container">
<div class="row">
<ng-container *ngTemplateOutlet="statTemplate;context:{stat: statByType('Users')}"></ng-container>
<ng-container *ngTemplateOutlet="statTemplate;context:{stat: statByType('Projects')}"></ng-container>
<ng-container *ngTemplateOutlet="statTemplate;context:{stat: statByType('Layers')}"></ng-container>
</div>
</div>
</skin-stat-group>
答案 0 :(得分:2)
您可以尝试使用let- *指令:
<ng-template let-variable="statByType('Users')?.count">
{{variable}}
</ng-template>
然后只需使用模板。
如果您需要更多帮助,请阅读Angular Docs
答案 1 :(得分:0)
在@incaner的帮助下解决了这个问题。这很有用 - 就像很多。
<ng-template #statTemplate let-stat="stat">
<div class="col-4" *ngIf="stat">
<skin-stat-circle >{{stat.count}}</skin-stat-circle>
<br>
<span>{{stat.label}}</span>
</div>
</ng-template>
<skin-stat-group [title]="">
<div class="container">
<div class="row">
<ng-container *ngTemplateOutlet="statTemplate;context:{stat: statByType('Users')}"></ng-container>
<ng-container *ngTemplateOutlet="statTemplate;context:{stat: statByType('Projects')}"></ng-container>
<ng-container *ngTemplateOutlet="statTemplate;context:{stat: statByType('Layers')}"></ng-container>
</div>
</div>
</skin-stat-group>