2013-10-15 3 views
34

Я искал надежный ответ на эту дилемму, на routeProvider или нет.

Похоже, что $ routeProvider скоро прекратит работу и заменит $ stateProvider, к сожалению, я не знаю точности этого утверждения, плюс stateProvider по-прежнему доступен только через плагин ui_router.

Планируется ли добавить stateProvider в состав ядра AngularJS? Можно ли предположить, что он скоро заменит старый $ routeProvider?

Они, конечно же, плохо взаимодействуют друг с другом, и миграционный CI, который я нашел в github, не работает и не имеет документации.

+0

Вы искали более конкретный ответ? – mfollett

ответ

35

После очень долгого времени мы решили укусить пулю и перенестись с 1.1.1 до 1.2. В то же время мы поняли, как ограниченный $ routerProvider на самом деле, поэтому мы пошли с ui-router. До сих пор мы это любим, это позволяет вам делать сложную вложенность в представлениях и добавлять немного больше структуры в ваше приложение, например, в $ stateProvider вы можете определить onEnter и onExit, который позволяет вам изменять ваши данные и восстанавливать их после выхода вы также можете перейти в состояние, которое чрезвычайно мощно. Я бы проголосовал за ui-router, чтобы быть частью Angular core и даже заменить $ routeProvider. Надеюсь, это поможет вам решить. $ routeProvider все еще работает, если у вас есть базовое приложение или демонстрационная страница.

+0

любая идея, если ui-router сделает это с угловым сердечником? – Nikos

+1

Есть определенно большие планы по улучшению основного маршрутизатора в версии 2.0 https://docs.google.com/document/d/1I3UC0RrgCh9CKrLxeE4sxwmNSBl3oSXQGt9g3KZnTJI/edit – JeremyWeir

+1

Внимание! $ stateProvider все еще находится в разработке ACTIVE, убедитесь, что вы читаете изменения, когда следующая версия angular.js отсутствует и просматривает изменения на ней –

10

Мы начали с $ routeProvider и перешли в $ stateProvider, чтобы использовать некоторые из функций, которые предоставляет ui-router. Когда мы двигались, миграция была абсолютно тривиальной. Сказав, что, щ-маршрутизатор еще очень рано (с их GitHub page):

Предупреждение: UI-маршрутизатор предварительно бета и в стадии активного развития. Таким образом, хотя эта библиотека хорошо протестирована, API может быть изменен. Использовать его в проекте, который требует гарантированной стабильности, не рекомендуется.

Придерживайтесь $ routeProvider, пока не решите, что вам нужно что-то еще. До тех пор убедитесь, что вы получаете хорошее покрытие для тестирования, так что такие сдвиги не слишком велики.

Смежные вопросы