我打算在我的大型应用程序中使用 AngularJS。所以我正在寻找合适的模块来使用。
ngRoute (angular-route.js) 和 ui-router (angular-ui-router.js) 模块有什么区别?
在很多使用ngRoute的文章中,路由都是用$routeProvider配置的。但是,当与 ui-router 一起使用时,路由配置为 $stateProvider 和 $urlRouterProvider。
Which module should I use for better manageability and extensibility?
最佳答案
ui-router是一个第三方模块,非常强大。它支持普通 ngRoute 可以做的所有事情以及许多额外的功能。
以下是选择 ui-router 而不是 ngRoute 的一些常见原因:
ui-router 允许 nested views和 multiple named views .这对于较大的应用程序非常有用,您可能拥有从其他部分继承的页面。
ui-router 允许您在基于状态名称的状态之间进行强类型链接。当您使用
ui-sref
构建链接时,在一处更改 url 将更新每个链接到该状态.对于 URL 可能会更改的大型项目非常有用。还有decorator的概念这可用于允许根据尝试访问的 URL 动态创建路由。这可能意味着您无需事先指定所有路线。
states允许您映射和访问有关不同状态的不同信息,并且您可以通过
$stateParams
在状态之间轻松传递信息.您可以通过
$state
轻松确定您是处于状态还是状态的父状态,以调整模板中的 UI 元素(突出显示当前状态的导航)。由 ui-router 提供,您可以通过在run
上的$rootScope
中设置它来公开它。
本质上,ui-router 是 ngRouter 更多的特性,在 sheet 下它是完全不同的。这些附加功能对于大型应用程序非常有用。
更多信息:
关于javascript - angular-route 和 angular-ui-router 有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21023763/