ngRoute(angular-route.js)和ui-router(angular-ui-router.js)模块有什么区别?
在许多文章中,当使用ngRoute时,路由配置$ routeProvider。但是,当与ui-router一起使用时,路由配置为$ stateProvider和$ urlRouterProvider。
这给我造成了一点混乱。我应该使用哪个模块来提高可管理性和可扩展性?
这里有一些常见的原因ui路由器选择ngRoute:
> ui-router允许nested views和multiple named views.这对于较大的应用程序非常有用,你可能有从其他部分继承的页面。
> ui-router允许你在基于状态名的状态之间有强类型的链接。更改网址在一个地方将更新每个链接到该状态,当您建立与ui-sref
的链接。对于URL可能更改的大型项目非常有用。
>还有一个decorator的概念,它可以用于允许根据尝试访问的URL动态创建路由。这可能意味着你不需要手动指定所有的路由。
> states允许您映射和访问不同状态的不同信息,您可以通过$stateParams
轻松地在状态之间传递信息。
>您可以轻松地确定您是否处于状态或父状态,以通过由ui-router提供的$state
调整模板中的UI元素(突出显示当前状态的导航),您可以通过在$ rootScope中设置它来公开跑。
本质上,ui-router是ngRouter具有更多的功能,在sheet下是非常不同的。这些附加功能对于更大的应用非常有用。
更多信息:
> Github:https://github.com/angular-ui/ui-router
>文档:
> API参考:http://angular-ui.github.io/ui-router/site/#/api
>指南:https://github.com/angular-ui/ui-router/wiki
>常见问题:https://github.com/angular-ui/ui-router/wiki/Frequently-Asked-Questions
>样品申请:http://angular-ui.github.io/ui-router/sample/#/