34

我一直在为这个困境寻找一个合理的答案,无论是 routeProvider 还是不。

看来 $routeProvider 很快就要停产并替换为 $stateProvider 不幸的是,我不知道这个语句的准确性,而且 stateProvider 仍然只能通过 ui_router 插件获得。

是否计划将 stateProvider 添加为 AngularJS 核心的一部分?假设它将很快取代旧的 $routeProvider 是否可以节省?

它们当然不能很好地结合在一起,而且我在 github 中找到的迁移 CI 不起作用并且缺少文档。

4

2 回答 2

35

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

于 2014-02-27T00:56:13.923 回答
10

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

警告:UI-Router 是预测试版,正在积极开发中。因此,虽然这个库已经过良好测试,但 API 可能会发生变化。不建议在需要保证稳定性的项目中使用它。

坚持使用 $routeProvider 直到您决定需要其他东西。在那之前,请确保您获得了良好的测试覆盖率,这样这样的变化就不会成为太大的问题。

于 2013-10-15T18:56:53.587 回答