【发布时间】:2020-08-05 05:17:03
【问题描述】:
我正在研究使用 Angular 在我的模板中执行条件的最佳方法。我的目标是避免不必要的渲染和函数调用。
我注意到,如果我的模板中有一个函数来检查并将某些内容返回到我的模板,这是错误的,因为当我有一些状态更改时,每次我做某事时都会再次调用这个函数。例如,
<div *ngFor="let user of users">
<h3>{{ getUserRole(user.id) }}</h3>
</div>
在我的 TS 中:
getUserRole(id: number) {
if (id === 0) {
return 'Teacher'
} else if (id === 1) {
return 'Study'
}
}
每次我在页面上执行操作时,都会调用此函数。避免这种情况的一种替代方法是使用“纯管道”。
我想知道当我在模板中使用三元条件时是否也会发生这种情况。例如,
<div *ngFor="let user of users">
<h3>{{ user.id === 0 ? 'Teacher' : 'Study' }}</h3>
</div>
如果也出现这种情况,我什么时候需要使用管道?在所有情况下,我都需要使用示例等条件渲染某些内容,或者仅当我的条件太重(包含许多对象和属性的数组)时?
【问题讨论】:
-
您好,尽量避免使用行话并以尽可能简单的方式进行解释。让我知道还有什么不清楚的地方。
-
@veroneseComS - 不要说对不起。我完全理解你的问题。
标签: angular