一尘不染

angular-route和angular-ui-router有什么区别?

javascript

我打算在大型应用程序中使用 AngularJS 。所以我正在寻找合适的模块来使用。

是什么区别 (角route.js)ngRouteUI的路由器(角-UI-router.js) 模块?

在许多使用 ngRoute的 文章中,route是使用 $ routeProvider 配置的。但是,当与 ui-
router一起使用时
,route是使用 $ stateProvider和$ urlRouterProvider 配置的。

我应该使用哪个模块以获得更好的可管理性和可扩展性?


阅读 292

收藏
2020-04-25

共1个答案

一尘不染

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,在表底下它是完全不同的。这些附加功能对于大型应用程序非常有用。

2020-04-25