11

В чем разница между angular-route и angular-ui-router?

19

Я планирую использовать AngularJS в своих крупных приложениях и сейчас нахожусь в процессе выбора подходящих модулей.

В чем разница между модулями ngRoute (angular-route.js) и ui-router (angular-ui-router.js)?

Во множестве статей, когда используется ngRoute, маршруты настраиваются с помощью $routeProvider. Однако при использовании ui-router маршруты настраиваются с помощью $stateProvider и $urlRouterProvider.

Какой модуль следует использовать для лучшей управляемости и расширяемости?

5 ответ(ов)

0

ngRoute является частью основного фреймворка AngularJS.

ui-router — это библиотека от сообщества, созданная с целью улучшить стандартные возможности маршрутизации.

Вот хорошая статья о настройке/ui-router:

http://www.ng-newsletter.com/posts/angular-ui-router.html

0

В общем, ui-router работает на механизме состояний... Это можно понять на простом примере:

Представьте, что у нас есть большое приложение музыкальной библиотеки (например, как gaana или saavan или любое другое). И внизу страницы есть музыкальный плеер, который используется на всех состояниях страницы.

Теперь предположим, что вы просто нажимаете на некоторые песни для воспроизведения. В этом случае должно изменяться только состояние музыкального плеера, вместо того чтобы перезагружать всю страницу. Это можно легко реализовать с помощью ui-router.

В то время как в ngRoute мы просто прикрепляем представление и контроллер.

0

Основная вещь, которую вам нужно знать: ng-router использует $location.path(), в то время как ui-router использует $state.go().

Остальные функции отличаются, но это ключевое различие. Если вам нужно управлять состояниями приложения или иметь возможность использовать вложенные маршруты и параметры, ui-router будет более подходящим выбором. В то время как ng-router проще и фокусируется на маршрутах на верхнем уровне.

Если у вас есть более конкретные вопросы или нужна помощь с реализацией, не стесняйтесь спрашивать!

0

UI Router действительно делает вашу жизнь проще! Вы можете добавить его в ваше приложение на AngularJS, внедрив его в ваше приложение...

ng-route входит в состав основного пакета AngularJS, поэтому он проще в использовании и предоставляет меньше возможностей...

Чтобы лучше понять ng-route, обратите внимание на документацию: https://docs.angularjs.org/api/ngRoute

Также не забудьте использовать ngView, когда работаете с ним.

UI Router отличается, но предоставляет больше возможностей. Вы можете ознакомиться с ним по следующей ссылке: https://github.com/angular-ui/ui-router.

0

AngularUI Router — это фреймворк для маршрутизации в AngularJS, который позволяет организовать части вашего интерфейса в виде машины состояний. В отличие от сервиса $route в модуле ngRoute, который организован вокруг маршрутов URL, UI-Router структурирован вокруг состояний. Эти состояния могут иметь прикрепленные к ним маршруты и другие поведения в дополнение к основным функциям.

Документацию и исходный код можно найти по следующей ссылке: GitHub - angular-ui/ui-router.

Чтобы ответить на вопрос, пожалуйста, войдите или зарегистрируйтесь