ngRoute เป็นโมดูลที่สร้างขึ้นโดยทีม Angular ที่มีฟังก์ชันการกำหนดเส้นทางฝั่งไคลเอ็นต์ขั้นพื้นฐาน โมดูลนี้มีฐานที่มีประสิทธิภาพพอสมควรสำหรับการกำหนดเส้นทางและสามารถสร้างขึ้นได้อย่างง่ายดายเพื่อให้ฟังก์ชั่นการจัดเส้นทางที่มั่นคงดังตัวอย่างในบล็อกโพสต์นี้ (อย่าลืมอ่านความคิดเห็นระหว่าง Ward Bell และ Ben Nadel ผู้เขียน คู่ของข้อดีเชิงมุม)
ui-router เปลี่ยนโฟกัสจากเส้นทาง url-centric ไปยังแอปพลิเคชั่น "สถานะ" ซึ่งอาจจะสะท้อนหรือไม่สะท้อนใน url
คุณสมบัติหลักที่เพิ่มโดย ui-router คือสถานะซ้อนและมุมมองที่ตั้งชื่อ
สถานะแบบซ้อนช่วยให้คุณสามารถแยกตรรกะของตัวควบคุมสำหรับชิ้นส่วนต่าง ๆ ของแอปพลิเคชัน ตัวอย่างง่ายๆนี้เป็นแอพที่มีการนำทางหลักข้ามด้านบนรายการการนำทางรองด้านซ้ายและเนื้อหาทางด้านขวา โดยไม่มีสถานะซ้อนกันโดยทั่วไปคอนโทรลเลอร์เดี่ยวจะต้องจัดการกับตรรกะการแสดงผลสำหรับการนำทางรองเช่นเดียวกับเนื้อหา การกำหนดเส้นทางแบบซ้อนช่วยให้คุณสามารถแยกข้อกังวลเหล่านี้ได้
มุมมองที่กำหนดชื่อเป็นอีกคุณสมบัติเพิ่มเติมของ ui-router ด้วย ngRoute คุณสามารถมีคำสั่ง ngView เพียงอันเดียวบนหน้าเว็บได้ แต่ด้วยมุมมองที่ตั้งชื่อไว้ใน ui-router คุณสามารถระบุคำสั่ง ui-view ได้หลายคำสั่งจากนั้นแต่ละสถานะจะมีผลต่อเทมเพลตและตัวควบคุมของมุมมองชื่อ ตัวอย่างที่ง่ายที่สุดคือการมีเนื้อหาหลักของแอปของคุณเป็นมุมมองหลักและจากนั้นจะมีแถบส่วนท้ายที่จะเป็นมุมมอง UI ที่แยกต่างหาก ในสถานการณ์สมมตินี้ส่วนท้ายของตัวควบคุมไม่จำเป็นต้องฟังการเปลี่ยนแปลงสถานะ / เส้นทางอีกต่อไป
การเปรียบเทียบที่ดีของ ngRoute และ ui-router สามารถพบได้ในตอนพอดคาสต์นี้
เพียงเพื่อทำให้สิ่งต่าง ๆ เกิดความสับสนมากขึ้นจับตาโมดูลการจัดเส้นทาง "เป็นทางการ" ใหม่ที่ทีม Angular คาดว่าจะเปิดตัวสำหรับรุ่น 1.5 และ 2.0 ของ Angular นี่จะเป็นการแทนที่โมดูล ngRoute นี่ คือเอกสารปัจจุบันสำหรับโมดูลเราเตอร์ใหม่ - มันค่อนข้างเบาบางเนื่องจากโพสต์นี้เนื่องจากการใช้งานยังไม่สิ้นสุด ดูที่นี่สำหรับข่าวเพิ่มเติมเกี่ยวกับเวลาที่โมดูลนี้จะเปิดตัวจริง