到$ routeProvider或$ stateProvider

J C*_*llo 34 angularjs angular-ui-router

我一直在寻找一个合理的答案来解决这个困境,路由提供者与否.

似乎$ routeProvider即将停止并用$ stateProvider替换,遗憾的是我不知道这个语句的准确性加上stateProvider仍然只能通过ui_router插件获得.

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

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

J C*_*llo 35

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


mfo*_*ett 10

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

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

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