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

标签 javascript angularjs angularjs-routing angular-ui-router angularjs-module

我打算在我的大型应用程序中使用 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 viewsmultiple 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/

相关文章:

javascript - AngularJS 路由不渲染模板

javascript - AngularJs 没有链接通过

javascript - HTML 文本编辑器 div - 强制文本从底部开始 - 从下到上文本框

javascript - 写入列表时使用 JavaScript 屏蔽前 6 位数字

javascript - 需要用 angularjs 再次停止点击

javascript - SonarQube 建议 an!==a 而不是 a===MaN

AngularJS ui.router 父 Controller 触发器

javascript - AngularJS 显示基于 url/条件的 div

javascript - AngularJs - 在 Controller 中使用工厂函数

angularjs - 使用 ASP.NET MVC 5 登录后重定向到 Angular 路由