В чем разница между angular-route и angular-ui-router?
Я планирую использовать AngularJS в своих крупных приложениях и сейчас нахожусь в процессе выбора подходящих модулей.
В чем разница между модулями ngRoute
(angular-route.js) и ui-router (angular-ui-router.js)?
Во множестве статей, когда используется ngRoute
, маршруты настраиваются с помощью $routeProvider
. Однако при использовании ui-router маршруты настраиваются с помощью $stateProvider
и $urlRouterProvider
.
Какой модуль следует использовать для лучшей управляемости и расширяемости?
5 ответ(ов)
ngRoute является частью основного фреймворка AngularJS.
ui-router — это библиотека от сообщества, созданная с целью улучшить стандартные возможности маршрутизации.
Вот хорошая статья о настройке/ui-router:
В общем, ui-router работает на механизме состояний... Это можно понять на простом примере:
Представьте, что у нас есть большое приложение музыкальной библиотеки (например, как gaana или saavan или любое другое). И внизу страницы есть музыкальный плеер, который используется на всех состояниях страницы.
Теперь предположим, что вы просто нажимаете на некоторые песни для воспроизведения. В этом случае должно изменяться только состояние музыкального плеера, вместо того чтобы перезагружать всю страницу. Это можно легко реализовать с помощью ui-router.
В то время как в ngRoute мы просто прикрепляем представление и контроллер.
Основная вещь, которую вам нужно знать: ng-router
использует $location.path()
, в то время как ui-router
использует $state.go()
.
Остальные функции отличаются, но это ключевое различие. Если вам нужно управлять состояниями приложения или иметь возможность использовать вложенные маршруты и параметры, ui-router
будет более подходящим выбором. В то время как ng-router
проще и фокусируется на маршрутах на верхнем уровне.
Если у вас есть более конкретные вопросы или нужна помощь с реализацией, не стесняйтесь спрашивать!
UI Router действительно делает вашу жизнь проще! Вы можете добавить его в ваше приложение на AngularJS, внедрив его в ваше приложение...
ng-route
входит в состав основного пакета AngularJS, поэтому он проще в использовании и предоставляет меньше возможностей...
Чтобы лучше понять ng-route
, обратите внимание на документацию: https://docs.angularjs.org/api/ngRoute
Также не забудьте использовать ngView
, когда работаете с ним.
UI Router отличается, но предоставляет больше возможностей. Вы можете ознакомиться с ним по следующей ссылке: https://github.com/angular-ui/ui-router.
AngularUI Router — это фреймворк для маршрутизации в AngularJS, который позволяет организовать части вашего интерфейса в виде машины состояний. В отличие от сервиса $route
в модуле ngRoute, который организован вокруг маршрутов URL, UI-Router структурирован вокруг состояний. Эти состояния могут иметь прикрепленные к ним маршруты и другие поведения в дополнение к основным функциям.
Документацию и исходный код можно найти по следующей ссылке: GitHub - angular-ui/ui-router.
Работа с $scope.$emit и $scope.$on в AngularJS
Вставка HTML в представление из контроллера AngularJS
Как привязать значения списка чекбоксов в AngularJS?
В чем разница между String.slice и String.substring?
Проверка соответствия строки регулярному выражению в JS