4
Angular - * ngIf เทียบกับการเรียกฟังก์ชั่นธรรมดาในเทมเพลต
ขออภัยถ้านี่ได้รับคำตอบแล้วที่นี่ แต่ฉันไม่พบสิ่งที่ตรงกันสำหรับสถานการณ์เฉพาะของเราดังนั้นที่นี่จะไป! เราได้พูดคุยกันในทีมพัฒนาของเราเกี่ยวกับการเรียกใช้ฟังก์ชันในเทมเพลตเชิงมุม ตอนนี้ตามกฎทั่วไปแล้วเรายอมรับว่าคุณไม่ควรทำสิ่งนี้ อย่างไรก็ตามเราได้พยายามที่จะพูดคุยเมื่อมันอาจจะไม่เป็นไร ผมขอยกสถานการณ์ให้คุณ สมมติว่าเรามีบล็อกเทมเพลตที่ล้อมรอบด้วย ngIf ซึ่งจะตรวจสอบพารามิเตอร์หลายรายการเช่นที่นี่: <ng-template *ngIf="user && user.name && isAuthorized"> ... </ng-template> จะมีความแตกต่างอย่างมีนัยสำคัญในประสิทธิภาพเมื่อเทียบกับสิ่งนี้: แม่แบบ: <ng-template *ngIf="userCheck()"> ... </ng-template> typescript: userCheck(): boolean { return this.user && this.user.name && this.isAuthorized; } ดังนั้นเพื่อสรุปคำถามตัวเลือกสุดท้ายจะมีต้นทุนด้านประสิทธิภาพที่สำคัญหรือไม่ เราต้องการใช้วิธีที่ 2 ในสถานการณ์ที่เราต้องตรวจสอบมากกว่า 2 เงื่อนไข แต่บทความออนไลน์จำนวนมากกล่าวว่าการเรียกใช้ฟังก์ชันไม่ดีเสมอในเทมเพลต แต่เป็นปัญหาจริงหรือไม่ในกรณีนี้