我计划在我的大型应用程序中使用AngularJS.所以我正在寻找合适的模块来使用.

ngRoute (angular-route.js)模块和ui-router (angular-ui-router.js)模块有什么区别?

在许多文章中,当使用ngRoute时,路由配置为$routeProvider.然而,当与ui-router一起使用时,路由配置为$stateProvider and $urlRouterProvider.

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

推荐答案

ui-router是第三方模块,功能非常强大.它支持普通的ngRoute所能做的一切,以及许多额外的功能.

以下是 Select UI-Router而不是ngRoute的一些常见原因:

  • 用户界面路由允许nested viewsmultiple named views.这对于较大的应用程序非常有用,因为在这些应用程序中,你可能会有从其他部分继承的页面.

  • ui路由允许基于状态名称在状态之间进行强类型链接.在一个地方更改url将在您使用ui-sref创建链接时更新每个链接到该状态.对于URL可能更改的大型项目非常有用.

  • There is also the concept of the decorator which could be used to allow your routes to be dynamically created based on the URL that is trying to be accessed. This could mean that you will not need to specify all of your routes before hand.

  • states允许您映射和访问关于不同州的不同信息,您可以通过$stateParams在州与州之间轻松传递信息.

  • You can easily determine if you are in a state or parent of a state to adjust UI element (highlighting the navigation of the current state) within your templates via $state provided by ui-router which you can expose via setting it in $rootScope on run.

从本质上讲,UI-Router是功能更多的ngRouter,在表下则大不相同.这些附加功能对于较大的应用程序非常有用.

更多信息:

Javascript相关问答推荐

如何从defineExpose访问数据和方法

通过实现regex逻辑自定义数据表搜索

微软Edge Select 间隙鼠标退出问题

Redux工具包查询(RTKQ)端点无效并重新验证多次触发

Chart.js V4切换图表中的每个条,同时每个条下有不同的标签.怎么做?

使用下表中所示的值初始化一个二维数组

角色 map 集/spritebook动画,用户输入不停止在键上相位器3

Chrome是否忽略WebAuthentication userVerification设置?""

html + java script!需要帮助来了解为什么我得到(无效的用户名或密码)

在open shadow—root中匹配时,使用jQuery删除一个封闭的div类

这个值总是返回未定义的-Reaction

更新动态数据中对象或数组中的所有值字符串

当用户点击保存按钮时,如何实现任务的更改?

为什么JPG图像不能在VITE中导入以进行react ?

更新Redux存储中的对象数组

为什么延迟在我的laravel项目中不起作用?

JavaScript:多个图像错误处理程序

Plotly.js栏为x轴栏添加辅助文本

计算对象数组中属性的滚动增量

Firefox的绝对定位没有达到预期效果