การใช้ NgOptimizedImage ใน angular

NgOptimizedImage เป็น directive ใหม่ใน Angular 14 ที่ช่วยให้เราสามารถโหลดและแสดงภาพได้อย่างมีประสิทธิภาพมากขึ้น

NgOptimizedImage ใช้เทคนิคต่างๆ เพื่อปรับปรุงประสิทธิภาพการโหลดและแสดงภาพ เช่น

  • โหลดภาพแบบ lazy
  • แสดงภาพขนาดย่อแทนภาพเต็มหากจำเป็น
  • ปรับขนาดภาพให้เหมาะสมกับขนาดขององค์ประกอบที่แสดงภาพ

การติดตั้ง NgOptimizedImage

ในการเริ่มต้นใช้งาน NgOptimizedImage เราต้องติดตั้ง @angular/cdk/optimized-images ลงในแอปพลิเคชันของเรา

1
npm install @angular/cdk/optimized-images

การใช้ NgOptimizedImage

เราสามารถใช้ NgOptimizedImage กับองค์ประกอบ img ได้ดังนี้

1
<img [src]="imageUrl" [width]="100" [height]="100" [imageOptimization]="true">

ในตัวอย่างนี้ เราจะใช้ NgOptimizedImage เพื่อโหลดและแสดงรูปภาพที่มี URL imageUrl

คุณสมบัติของ NgOptimizedImage

NgOptimizedImage มีคุณสมบัติต่อไปนี้

  • src: URL ของรูปภาพ
  • imageOptimization: ตั้งค่าเป็น true เพื่อเปิดใช้งานการปรับปรุงประสิทธิภาพ
  • width: ความกว้างขององค์ประกอบที่แสดงภาพ
  • height: ความสูงขององค์ประกอบที่แสดงภาพ
  • priority: ลำดับความสำคัญของรูปภาพ
  • loading: สถานะการโหลดของรูปภาพ
  • error: ข้อความแจ้งข้อผิดพลาดหากเกิดข้อผิดพลาด

เคล็ดลับในการใช้ NgOptimizedImage

  • ตั้งค่า imageOptimization เป็น true เพื่อเปิดใช้งานการปรับปรุงประสิทธิภาพ
  • ตั้งค่า width และ height ขององค์ประกอบที่แสดงภาพเพื่อปรับปรุงประสิทธิภาพ
  • ตั้งค่า priority ของรูปภาพเพื่อกำหนดลำดับความสำคัญของการโหลด
  • ตรวจสอบสถานะการโหลดของรูปภาพโดยใช้ loading
  • แสดงข้อความแจ้งข้อผิดพลาดหากเกิดข้อผิดพลาดโดยใช้ error

ตัวอย่างการใช้งาน NgOptimizedImage

ต่อไปนี้เป็นตัวอย่างการใช้งาน NgOptimizedImage

1
2
3
4
5
<img [src]="imageUrl" [width]="100" [height]="100" [imageOptimization]="true">

<img [src]="imageUrl" [width]="200" [height]="200" [imageOptimization]="true" [priority]="1">

<img [src]="imageUrl" [width]="300" [height]="300" [imageOptimization]="true" [priority]="2">

ในตัวอย่างนี้ เราจะใช้ NgOptimizedImage เพื่อโหลดและแสดงรูปภาพสามรูปที่มี URL imageUrl

รูปภาพแรกจะมีขนาด 100x100 พิกเซล

รูปภาพที่สองจะมีขนาด 200x200 พิกเซลและมีลำดับความสำคัญสูงกว่ารูปภาพแรก

รูปภาพที่สามจะมีขนาด 300x300 พิกเซลและมีลำดับความสำคัญต่ำกว่ารูปภาพที่สอง

สรุป

NgOptimizedImage เป็น directive ใหม่ใน Angular 14 ที่ช่วยให้เราสามารถโหลดและแสดงภาพได้อย่างมีประสิทธิภาพมากขึ้น

NgOptimizedImage ใช้เทคนิคต่างๆ เพื่อปรับปรุงประสิทธิภาพการโหลดและแสดงภาพ เช่น

  • โหลดภาพแบบ lazy
  • แสดงภาพขนาดย่อแทนภาพเต็มหากจำเป็น
  • ปรับขนาดภาพให้เหมาะสมกับขนาดขององค์ประกอบที่แสดงภาพ

NgOptimizedImage เป็นเครื่องมือที่มีประโยชน์สำหรับแอปพลิเคชันที่ต้องการโหลดและแสดงภาพได้อย่างมีประสิทธิภาพ