【发布时间】:2020-04-17 20:40:15
【问题描述】:
Angular v8。我有一个使用 [ngClass] 指令的标签。该表达式调用一个函数。条件改变后,如何让 ngClass 重新评估所述表达式?它似乎只被调用一次。标签位于 ng-template 元素内。例如
<ng-template let-file>
<div [ngClass]="{'primary-class' : 'isPrimary()'}">text</div>
</ng-template>
【问题讨论】:
-
你可以试试
<div [class.primary-class]="isPrimary()">text</div>。并检查没有ChangeDetectionStrategy.OnPush -
isPrimary 函数有什么作用?它是一个复杂的函数还是一个简单地返回一个值的函数
-
你将函数用单引号括起来,删除它:
{'primary-class':isPrimary()},或者考虑 Guiacomo 的评论