我打算在大型应用程序中使用 AngularJS 。所以我正在寻找合适的模块来使用。
是什么区别 (角route.js)ngRoute 和 UI的路由器(角-UI-router.js) 模块?
在许多使用 ngRoute的 文章中,route是使用 $ routeProvider 配置的。但是,当与 ui- router一起使用时 ,route是使用 $ stateProvider和$ urlRouterProvider 配置的。
我应该使用哪个模块以获得更好的可管理性和可扩展性?
ui-router是一个第三方模块,功能非常强大。它支持常规ngRoute可以执行的所有操作以及许多其他功能。
以下是在ngRoute上选择ui-router的一些常见原因:
ui-router允许嵌套视图和多个命名视图。这对于较大的应用程序非常有用,在大型应用程序中,您的页面可能会继承自其他部分。
ui-router允许您基于状态名称在状态之间进行强类型链接。当您使用建立链接时,在一个位置更改url会将每个链接更新为该状态ui-sref。对于可能会更改URL的大型项目非常有用。
装饰器的概念也可以用来允许基于尝试访问的URL动态创建路由。这可能意味着您无需事先指定所有路线。
状态允许您映射和访问有关不同状态的不同信息,并且您可以通过轻松在状态之间传递信息$stateParams。
您可以轻松确定自己是处于状态还是状态的父级,以$state通过ui-router提供的方法在模板中调整UI元素(突出显示当前状态的导航),可以通过将其设置为$rootScopeon 来公开run。
从本质上讲,ui-router是具有更多功能的ngRouter,在表底下它是完全不同的。这些附加功能对于大型应用程序非常有用。