ในบล็อกที่แล้ว เราได้พูดคุยถึง
Angular Router 10: การสร้างโมดูลแยกต่างหากสำหรับการกำหนดเส้นทาง

ก่อนที่จะไปที่ Can Activate Guard จำเป็นต้องทำความเข้าใจว่ามีอะไรป้องกันในเชิงมุม
พูดง่ายๆ ก็คือ การ์ดคือผู้พิทักษ์ของเราเตอร์

ตามค่าเริ่มต้น เราสามารถนำทางเส้นทางหนึ่งไปยังอีกเส้นทางหนึ่งได้อย่างอิสระในเชิงมุม บางครั้งเราไม่ต้องการการนำทางไปยังเส้นทางเพราะเราอาจต้องการข้อมูลบางอย่างเพื่อนำทาง เพื่อที่จะปกป้องยาม เข้ามารูปภาพที่นี่ เช่นเดียวกับภาพที่แสดงด้านล่าง

การ์ดจะทำงานเฉพาะค่าบูลีนเท่านั้น นอกเหนือจากนั้นสามารถทำตามคำสัญญาหรือสิ่งที่สังเกตได้ แม้จะเป็นเช่นนั้นก็ยังใช้เป็นบูลีนเป็นประเภทอีกด้วย เพียง True Means Navigate และ False หมายถึงไม่นำทาง

ส่วนใหญ่มียาม 5 ประเภทในเชิงมุม

  1. สามารถเปิดใช้งานได้: เพื่อให้ผู้ใช้สามารถใช้เส้นทางได้
  2. สามารถเปิดใช้งานเด็ก : เพื่อดูว่าผู้ใช้สามารถนำทางไปยังเส้นทางเด็กได้หรือไม่
  3. สามารถปิดการใช้งาน : เพื่อออกจากเส้นทาง
  4. แก้ไข : การดึงข้อมูลก่อนการเปิดใช้งานเส้นทาง
  5. CanLoad : กำหนดเส้นทางไปยังโมดูลที่โหลดแบบ Lazy Load

ในบล็อกปัจจุบันของเรา เราจะพูดถึง Can Activate guard
Can Activate เป็นอินเทอร์เฟซที่ใช้เพื่อช่วยตัดสินใจว่าสามารถเปิดใช้งานเส้นทางได้หรือไม่

ฉันได้สร้าง 2 คอมโพเนนต์ คอมโพเนนต์หนึ่งคือคอมโพเนนต์การเข้าสู่ระบบ และคอมโพเนนต์ที่สองคือคอมโพเนนต์ออกจากระบบ
1 Service และ 1 guard ในไฟล์บริการ เราจะเก็บตัวแปรไว้ว่าเป็นจริงหรือเท็จ
และในไฟล์ guard เราจะตรวจสอบว่าตัวแปรเป็นจริงหรือไม่ หากมีเราจะเปิดใช้งานเส้นทางของเรา

ในที่สุดเราจะแนบตัวป้องกันสำหรับเราเตอร์

ค้นหารหัสการทำงานได้ที่นี่
https://stackblitz.com/edit/angular-ivy-zydh9t

ใน logout.component.ts เรากำลังเรียกใช้บริการซึ่งตั้งค่าเป็นจริงเป็นค่า

auth.service.ts

สร้างไฟล์ ts โดยมีหลักการตั้งชื่อเป็น _name_.guard.ts เพื่อสร้างการ์ด

ใน Guard ของเรา เราระบุตรรกะของเรา ที่นี่ฉันถือว่าค่าการเข้าสู่ระบบของบริการ Auth เป็นจริงและเปิดใช้งานเส้นทาง หากไม่ได้นำทางไปยังส่วนประกอบการออกจากระบบ
ในโมดูลการกำหนดเส้นทางของเรา เราจะแนบตัวป้องกันนี้ไว้เพื่อให้สามารถปกป้องตัวป้องกันได้ เช่นเดียวกับการหลีกเลี่ยงการนำทาง

ในเส้นทางการเข้าสู่ระบบเราได้แนบการป้องกันของเราโดยการเพิ่มรหัส canActivate

ในบล็อกถัดไป

เราเตอร์เชิงมุม 12: สามารถปิดใช้งาน Guard ได้

— — — — — — — — — สิ้นสุดการบรรยาย — — — — — — —

ตรวจสอบบทเรียนทั้งหมดของ Angular Intermediate Lessons

https://medium.com/@yuvayuvaraj720444/angular-intermediate-lessons-acbea2dfc9b