Xin lỗi nếu điều này đã được trả lời ở đây, nhưng tôi không thể tìm thấy bất kỳ trận đấu nào cho kịch bản cụ thể của chúng tôi, vì vậy hãy đến đây!
Chúng tôi đã có một cuộc thảo luận trong nhóm phát triển của chúng tôi, liên quan đến các lệnh gọi hàm trong các mẫu góc. Bây giờ là một quy tắc chung, chúng tôi đồng ý rằng bạn không nên làm những điều này. Tuy nhiên, chúng tôi đã cố gắng thảo luận khi nào có thể ổn. Hãy để tôi cung cấp cho bạn một kịch bản.
Giả sử chúng ta có một khối mẫu được bọc trong ngNếu, kiểm tra nhiều tham số, như ở đây:
<ng-template *ngIf="user && user.name && isAuthorized">
...
</ng-template>
Sẽ có một sự khác biệt đáng kể trong hiệu suất so với một cái gì đó như thế này:
Bản mẫu:
<ng-template *ngIf="userCheck()">
...
</ng-template>
Bản thảo:
userCheck(): boolean {
return this.user && this.user.name && this.isAuthorized;
}
Vì vậy, để tóm tắt câu hỏi, liệu lựa chọn cuối cùng có chi phí hiệu suất đáng kể nào không?
Chúng tôi muốn sử dụng cách tiếp cận thứ 2, trong các tình huống cần kiểm tra nhiều hơn 2 điều kiện, nhưng nhiều bài viết trực tuyến nói rằng các lệnh gọi hàm LUÔN là xấu trong các mẫu, nhưng nó có thực sự là vấn đề trong trường hợp này không?