[javascript] 각도 경로와 각도 UI 라우터의 차이점은 무엇입니까?

큰 응용 프로그램에서 AngularJS 를 사용할 계획 입니다. 그래서 사용하기에 적합한 모듈을 찾는 과정에 있습니다.

ngRoute (angular-route.js)ui-router (angular-ui-router.js) 모듈 의 차이점은 무엇입니까 ?

ngRoute 가 사용되는 많은 기사 에서 route는 $ routeProvider 로 구성됩니다 . 그러나 ui-router 와 함께 사용 하면 route는 $ stateProvider 및 $ urlRouterProvider로 구성됩니다 .

더 나은 관리 효율성과 확장 성을 위해 어떤 모듈을 사용해야합니까?



답변

ui-router 는 타사 모듈이며 매우 강력합니다. 일반적인 ngRoute가 할 수있는 모든 기능과 많은 추가 기능을 지원합니다.

ngRoute를 통해 ui-router를 선택하는 일반적인 이유는 다음과 같습니다.

  • ui-router는 중첩 된 뷰여러 개의 명명 된 뷰를 허용합니다 . 다른 섹션에서 상속 된 페이지가있을 수있는 더 큰 앱에서 매우 유용합니다.

  • ui-router를 사용하면 상태 이름을 기반으로 상태를 강력하게 연결할 수 있습니다. 한곳에서 URL을 변경하면 (으)로 링크를 작성할 때 모든 링크가 해당 상태로 업데이트됩니다 ui-sref. URL이 변경 될 수있는 대규모 프로젝트에 매우 유용합니다.

  • 액세스하려는 URL을 기반으로 경로를 동적으로 생성하는 데 사용할 수있는 데코레이터 개념도 있습니다. 즉, 미리 모든 경로를 지정할 필요는 없습니다.

  • 상태를 사용하면 여러 상태에 대한 다양한 정보를 매핑하고 액세스 할 수 있으며를 통해 상태간에 정보를 쉽게 전달할 수 있습니다 $stateParams.

  • 를 통해 당신이 당신의 템플릿 내에서 UI 요소 (현재 상태의 탐색을 강조)을 조정하는 국가의 주 또는 부모에 있는지 쉽게 확인할 수 있습니다 $state당신이 그것을 설정을 통해 노출 될 수 있습니다 UI 라우터에 의해 제공 $rootScoperun.

본질적으로 ui-router는 더 많은 기능을 가진 ngRouter이며 시트 아래에는 상당히 다릅니다. 이러한 추가 기능은 대규모 응용 프로그램에 매우 유용합니다.

추가 정보:


답변

ngRoute 는 AngularJS 코어의 초기 부분 인 AngularJS 팀이 개발 한 모듈입니다.

ui-router 는 라우팅 기능을 향상시키고 향상시키기 위해 AngularJS 프로젝트 외부에서 만들어진 프레임 워크입니다.

ui-router 문서에서 :

AngularUI 라우터는 인터페이스의 일부를 상태 머신으로 구성 할 수있는 AngularJS의 라우팅 프레임 워크입니다. URL 라우트를 중심으로 구성되는 Angular 코어의 $ route 서비스와 달리 UI-Router는 상태를 중심으로 구성되며 선택적으로 라우트 및 기타 동작이 첨부 될 수 있습니다.

상태는 명명 된, 중첩 및 병렬 뷰에 바인딩되므로 응용 프로그램 인터페이스를 강력하게 관리 할 수 ​​있습니다.

둘 중 어느 쪽이 더 낫지는 않으므로 프로젝트에 가장 적합한 것을 선택해야합니다.

그러나 응용 프로그램에서 복잡한 뷰를 계획하고 “$ state”개념을 처리하려는 경우. ui-router를 선택하는 것이 좋습니다.


답변

ngRoute는 기본 시나리오에 적합한 앵귤러 코어 모듈입니다. 앞으로 출시 될 버전에서 더 강력한 기능을 추가 할 것이라고 생각합니다.

URL : https://docs.angularjs.org/api/ngRoute

Ui- 라우터는 ngRoute의 문제를 극복 한 기여 모듈입니다. 주로 중첩 / 복잡한 뷰.

URL : https://github.com/angular-ui/ui-router

ui-router와 ngRoute의 차이점 중 일부

http://www.amasik.com/angularjs-ngroute-vs-ui-router/

여기에 이미지 설명을 입력하십시오


답변

ngRoute는 핵심 AngularJS 프레임 워크의 일부입니다.

ui-router는 기본 라우팅 기능을 향상시키기 위해 만들어진 커뮤니티 라이브러리입니다.

다음은 ui-router 구성 / 설정에 대한 좋은 기사입니다.

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


답변

ngRoute 패러다임 내에 구현 된 중첩 뷰 기능을 사용하려면 각도 라우팅 세그먼트를 사용해보십시오. ngRoute를 교체하는 대신 확장하는 것을 목표로합니다.


답변

일반적으로 ui-router는 상태 메커니즘에서 작동합니다. 간단한 예를 통해 이해할 수 있습니다.

..gaana 또는 saavan 또는 기타와 같은 음악 라이브러리를 많이 적용한다고 가정 해 봅시다. 페이지 하단에는 페이지의 모든 상태에서 공유되는 음악 플레이어가 있습니다.

이제 재생할 노래를 클릭한다고 가정 해 봅시다. 이 경우 전체 페이지를 다시로드하는 대신 해당 음악 플레이어 상태 만 변경해야합니다. ui-router로 쉽게 처리 할 수 ​​있습니다.

ngRoute에서 뷰와 컨트롤러를 연결하기 만하면됩니다.


답변

각도 1.x

ng-route :

ng-route는 angularJS 팀에서 라우팅을 위해 개발했습니다.

ng-route : url (위치) 기반 라우팅.

전의:

$routeProvider
    .when("/home", {
        templateUrl : "home.html"
    })

ui-route :

ui-router는 타사 모듈에 의해 개발되었습니다.

ui-router : 상태 기반 라우팅

전의:

 $stateProvider
        .state('home', {
            url: '/home',
            templateUrl: 'home.html'
        })

-> ui-router는 중첩 된 뷰를 허용합니다

ng-route보다 더 강력한 ui-router

ng-router ,
ui-router