2013-10-15 40 views
34

我一直在尋找一個合理的答案來解決這個困境,以便爲RouteProvider或不。

看起來好像$ routeProvider即將停止,並用$ stateProvider替換,很不幸,我不知道這個語句的準確性加上stateProvider仍然只能通過ui_router插件使用。

計劃將stateProvider添加爲AngularJS Core的一部分?假設它很快會替換舊的$ routeProvider是否保存起來?

它們當然不能很好地發揮作用,我在github中找到的遷移配置項不起作用,並且缺少文檔。

+0

您是否在尋找更具體的答案? – mfollett

回答

35

經過很長時間我們決定咬住子彈,從1.1.1遷移到1.2。同時我們意識到$ routerProvider是多麼有限,所以我們使用ui-router。到目前爲止,我們喜歡它,它允許您在視圖中執行一些複雜的嵌套,併爲您的應用程序添加更多結構,例如,在$ stateProvider中,您可以定義onEnter和onExit,它允許您修改數據並將其恢復一旦退出,你也可以transitionTo狀態,這是非常強大的。我會投票支持ui-router成爲Angular核心的一部分,甚至替換$ routeProvider。我希望這可以幫助你打定主意。如果您有基本的應用程序或演示頁面,$ routeProvider仍然有效。

+0

任何想法,如果UI路由器將使其成角度核心? – Nikos

+1

2.0 https://docs.google.com/document/d/1I3UC0RrgCh9CKrLxeE4sxwmNSBl3oSXQGt9g3KZnTJI/edit – JeremyWeir

+1

絕對有很好的改進核心路由器的計劃。警告! $ stateProvider仍處於ACTIVE開發階段,請確保在下一版本的angular.js出來時閱讀更改並查看其中的更改 –

10

我們從$ routeProvider開始,轉移到$ stateProvider以利用ui-router提供的一些功能。當我們搬遷時,遷移是非常微不足道的。話雖如此,UI路由器仍然很早(從他們的GitHub page):

警告:UI路由器是預測試版和正在積極開發。因此,雖然這個圖書館經過了充分測試,但API可能會發生變化。不建議在需要保證穩定性的項目中使用它。

堅持$ routeProvider,直到你決定你需要別的東西。在此之前,確保您獲得良好的測試覆蓋率,這樣的轉變並不是太大的擔憂。