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

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

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

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

我应该使用哪个模块来提高可管理性和可扩展性?


ui-router是第三方模块,非常强大。它支持正常ngRoute可以执行的所有操作以及许多额外功能。

以下是ui-router比ngRoute选择的一些常见原因:

  • ui-router允许嵌套视图多个命名视图。这对于较大的应用程序非常有用,您可以在其中包含从其他部分继承的页面。
  • ui-router允许您根据状态名称在状态之间建立强类型链接。在一个地方更改网址会在您构建链接时更新指向该状态的每个链接ui-sref。对于URL可能更改的大型项目非常有用。
  • 还有装饰器的概念,可用于允许根据尝试访问的URL动态创建路由。这可能意味着您不需要事先指定所有路线。
  • 状态允许您映射和访问有关不同状态的不同信息,您可以轻松地通过状态在状态之间传递信息$stateParams
  • 你可以很容易确定,如果你在你的模板中调整UI元素(高亮显示当前状态的导航)的状态的状态或者通过母公司$state通过UI路由器,你可以通过设置在其暴露提供$rootScoperun

从本质上讲,ui-router是具有更多功能的ngRouter,在表单下它是完全不同的。这些附加功能对于大型应用程序非常有用。

更多信息:

 


ngRoute是由AngularJS团队开发的模块,该团队是AngularJS核心的早期部分。

ui-router是一个在AngularJS项目之外创建的框架,用于改进和增强路由功能。

从ui-router 文档

AngularUI Router是AngularJS的路由框架,它允许您将接口的各个部分组织到状态机中。与围绕URL路由组织的Angular核心中的$ route服务不同,UI-Router围绕状态进行组织,这些状态可以选择性地附加路由以及其他行为。

状态绑定到命名,嵌套和并行视图,允许您有力地管理应用程序的界面。

它们都不是更好,你必须选择最适合你的项目。

但是,如果您计划在应用程序中拥有复杂的视图,并且希望处理“$ state”概念。我建议你选择ui-router。


ngRoute是一个角度核心模块,适用于基本场景。我相信他们会在即将发布的版本中添加更强大的功能。

网址:https//docs.angularjs.org/api/ngRoute

Ui-router是一个克服了ngRoute问题的贡献模块。主要是嵌套/复杂视图。

网址:https//github.com/angular-ui/ui-router

ui-router和ngRoute之间的一些区别

http://www.amasik.com/angularjs-ngroute-vs-ui-router/

添加评论

友情链接:蝴蝶教程