到$ routeProvider或$ stateProvider

时间:2013-10-15 18:51:00

标签: angularjs angular-ui-router

我一直在寻找这个困境的合理答案,以及路线提供者与否。

好像$ routeProvider很快就会停止并用$ stateProvider替换,遗憾的是我不知道这个语句的准确性加上stateProvider仍然只能通过ui_router插件获得。

是否计划将stateProvider添加为AngularJS Core的一部分?是否可以假设它将很快替换旧的$ routeProvider?

他们肯定不能很好地协同工作,我在github中找到的迁移CI不起作用,缺乏文档。

2 个答案:

答案 0 :(得分:35)

经过很长一段时间,我们决定咬紧牙关并从1.1.1迁移到1.2。与此同时,我们意识到$ routerProvider的限制是多少,所以我们选择了ui-router。到目前为止,我们喜欢它,它允许您在视图中进行一些复杂的嵌套,并为您的应用添加更多结构,例如,在$ stateProvider中,您可以定义onEnter和onExit,它允许您修改数据并恢复它退出时,你也可以过渡到极其强大的状态。我会投票支持ui-router成为Angular核心的一部分甚至替换$ routeProvider。我希望这可以帮助你下定决心。如果您有基本的应用程序或演示页面,$ routeProvider仍然有效。

答案 1 :(得分:10)

我们从$ routeProvider开始,并转移到$ stateProvider以利用ui-router提供的一些功能。当我们移动时,迁移绝对是微不足道的。话虽如此,ui-router仍然很早(从GitHub page开始):

  

警告:UI-Router处于预测试状态且处于活动开发阶段。因此,虽然此库经过了充分测试,但API可能会发生变化。不建议在需要保证稳定性的项目中使用它。

坚持使用$ routeProvider直到您决定需要别的东西。在此之前,请确保您获得良好的测试覆盖率,以便这样的转变不会太大问题。