【发布时间】:2020-01-17 09:48:25
【问题描述】:
很抱歉,如果这里已经回答了这个问题,但我找不到适合我们特定场景的任何匹配项,所以就这样吧!
我们的开发团队就 Angular 模板中的函数调用进行了讨论。现在作为一般经验法则,我们同意您不应该这样做。但是,我们试图讨论什么时候可以。让我给你一个场景。
假设我们有一个封装在 ngIf 中的模板块,用于检查多个参数,如下所示:
<ng-template *ngIf="user && user.name && isAuthorized">
...
</ng-template>
与这样的东西相比,性能会不会有显着差异:
模板:
<ng-template *ngIf="userCheck()">
...
</ng-template>
打字稿:
userCheck(): boolean {
return this.user && this.user.name && this.isAuthorized;
}
所以总结一下这个问题,最后一个选项是否有任何显着的性能成本?
我们更喜欢使用第二种方法,在需要检查两个以上条件的情况下,但是网上很多文章说函数调用在模板中总是不好,但在这种情况下真的有问题吗?
【问题讨论】:
-
不,不会。而且它也更干净,因为它使模板更具可读性,条件更易于测试和重用,并且您可以使用更多工具(整个 TypeScript 语言)使其尽可能具有可读性和效率。不过,我会选择一个比“userCheck”更清晰的名称。
标签: angular typescript