到$ routeProvider或$ stateProvider

我一直在寻找一个合理的答案来解决这个困境,以便提供者或不。

看起来好像$ routeProvider即将停止,并用$ stateProviderreplace,不幸的是,我不知道这个语句的准确性,加上stateProvider仍然只能通过ui_router插件使用。

是计划添加stateProvider作为AngularJS核心的一部分? 假设它将很快replace旧的$ routeProvider是否保存?

他们当然不能很好地协作,我在github中find的迁移configuration文件不起作用,缺less文档。

经过很长一段时间,我们决定硬着头皮从1.1.1迁移到1.2。 同时我们意识到$ routerProvider是多么的有限,所以我们使用了ui-router。 到目前为止,我们喜欢它,它允许您在视图中执行一些复杂的嵌套,并为您的应用程序添加更多的结构,例如,在$ stateProvider中,您可以定义onEnter和onExit,它允许您修改数据并将其恢复一旦退出,你也可以transitionTo状态,这是非常强大的。 我会投票ui路由器是Angular核心的一部分,甚至取代$ routeProvider。 我希望这可以帮助你下定决心。 如果你有一个基本的应用程序或演示页面,$ routeProvider仍然有效。

我们从$ routeProvider开始,转移到$ stateProvider以利用ui-router提供的一些function。 当我们移动的时候,迁移是非常微不足道的。 话虽如此,ui路由器还是很早(从他们的GitHub页面 ):

警告:UI-Router处于beta版之前,正在积极开发之中。 因此,虽然这个图书馆经过了充分的testing,但是API是可以改变的。 不build议在需要保证稳定性的项目中使用它。

坚持$ routeProvider,直到你决定你需要别的东西。 在此之前,确保您获得良好的testing覆盖率,这样的转变不是太大的担心。