Maaf jika ini sudah dijawab di sini, tetapi saya tidak dapat menemukan kecocokan untuk skenario khusus kami, jadi begini!
Kami telah berdiskusi di tim pengembangan kami, tentang pemanggilan fungsi dalam templat sudut. Sekarang sebagai aturan umum, kami setuju bahwa Anda tidak boleh melakukan ini. Namun, kami sudah mencoba mendiskusikan kapan itu boleh saja. Biarkan saya memberi Anda sebuah skenario.
Katakanlah kita memiliki blok template yang dibungkus dengan ngIf, yang memeriksa beberapa parameter, seperti di sini:
<ng-template *ngIf="user && user.name && isAuthorized">
...
</ng-template>
Apakah akan ada perbedaan kinerja yang signifikan dibandingkan dengan yang seperti ini:
Templat:
<ng-template *ngIf="userCheck()">
...
</ng-template>
Naskah:
userCheck(): boolean {
return this.user && this.user.name && this.isAuthorized;
}
Jadi, untuk meringkas pertanyaan, apakah opsi terakhir memiliki biaya kinerja yang signifikan?
Kami lebih suka menggunakan pendekatan ke-2, dalam situasi di mana kami perlu memeriksa lebih dari 2 kondisi, tetapi banyak artikel online mengatakan panggilan fungsi SELALU buruk dalam templat, tetapi apakah ini benar-benar masalah dalam kasus ini?