> 웹 프론트엔드 > JS 튜토리얼 > AngularJS Routing_AngularJS의 정의와 사용법을 간략하게 설명하세요.

AngularJS Routing_AngularJS의 정의와 사용법을 간략하게 설명하세요.

WBOY
풀어 주다: 2016-05-16 15:12:02
원래의
1441명이 탐색했습니다.

단일 페이지 애플리케이션에서는 뷰 간 이동이 특히 중요합니다. 애플리케이션이 점점 더 복잡해짐에 따라 사용자에게 언제 어떤 페이지를 표시해야 하는지 정확하게 제어할 수 있는 방법이 필요합니다.

메인 페이지에 다양한 템플릿을 도입하여 다양한 페이지 간 전환을 지원할 수 있지만, 그렇게 하면 내장된 코드가 점점 많아져 결국 관리가 어려워진다는 단점이 있습니다.

ng-include 지시문을 통해 많은 템플릿을 뷰에 통합할 수 있지만 이 상황을 처리하는 더 나은 방법이 있습니다. 뷰를 레이아웃 및 템플릿 뷰로 분리한 다음 특정 사용자 액세스 URL에 따라 분리할 수 있습니다. 원하는 뷰를 표시하려면

이러한 "조각"을 레이아웃 템플릿에 함께 넣을 수 있습니다

AngularJS는 $routeProvider($route 서비스 제공자)에서 경로를 선언하여 위 아이디어를 구현합니다.

$routeProvider를 사용하면 검색 기록 API를 더 효과적으로 활용할 수 있으며 사용자가 나중에 사용할 수 있도록 현재 경로를 북마크로 저장할 수 있습니다.

애플리케이션에서 라우팅을 설정하려면 두 가지 작업을 수행해야 합니다. 먼저 새 페이지 콘텐츠가 저장될 레이아웃 템플릿을 저장할 위치를 지정해야 합니다. 예를 들어 모든 페이지에 머리글과 바닥글을 추가하려는 경우 다음과 같이 레이아웃 템플릿을 디자인할 수 있습니다.

<header>
 <h1>Header</h1>
</header>
<div class="content">
 <div ng-view></div>
</div>
<footer>
 <h5>Footer</h5>
</footer>
로그인 후 복사

ng-view 지시문은 템플릿을 렌더링할 위치에 고속 $routeProvider를 사용합니다

둘째, 라우팅 정보를 구성해야 하며 애플리케이션에서 $routeProvider를 구성합니다

$routeProvider는 라우팅을 처리하는 두 가지 방법, 즉 언제와 그렇지 않은지를 제공합니다. 두 개의 매개변수를 받을 때의 메소드는 첫 번째 매개변수가 $location.path()로 설정됩니다. ("//"를 직접 사용해도 문제가 없습니다)


정의
경로를 정의하는 것은 매우 쉽습니다. ngRoute 종속성을 애플리케이션 메인 모듈에 삽입하기만 하면 됩니다

angular.module('myApp', ['ngRoute'])
 .config(function($routeProvider) {});

로그인 후 복사

이제 애플리케이션의 경로를 정의할 수 있습니다. $routeProvider는 라우팅 모듈의 .config() 메소드에 삽입됩니다. 위 코드는 경로를 정의하는 두 가지 메소드를 보여줍니다.

언제()

when() 메소드에는 일치시키려는 브라우저 URL과 라우팅 작업 객체라는 두 개의 매개변수가 있습니다. 일반적으로 기본 경로는 "/"로 표시되는 경우가 많으며, 컨트롤러에서는 $routeParams를 사용하여 URL 매개변수를 얻을 수도 있습니다.

templateUrl: 경로 점프를 나타내는 보기 템플릿

컨트롤러: 컨트롤러

angular.module('myApp', ['ngRoute'])
  .config(function($routeProvider) {
   $routeProvider
    .when('/', {
     templateUrl: 'views/main.html',
     controller: 'MainCtrl'
    })
    .when('/day/:id', {
     templateUrl: 'views/day.html',
     controller: 'DayCtrl'
    })
로그인 후 복사

그렇지 않으면()

otherwise()는 애플리케이션이 지정된 경로를 찾을 수 없을 때 이동할 경로를 정의합니다

angular.module('myApp', ['ngRoute'])
.config(function($routeProvider) {
 $routeProvider
  .when('/', {
   templateUrl: 'views/main.html',
   controller: 'MainCtrl'
  })
  .when('/day/:id', {
   templateUrl: 'views/day.html',
   controller: 'DayCtrl'
  })
  .otherwise({
   redirectTo: '/'
  });
})

로그인 후 복사


사용
정의된 경로를 사용하는 방법은 무엇입니까? 변환하려는 페이지 부분을 각도에 알려야 하며, 이를 위해서는 ng-view 지시문을 사용해야 합니다

<div class="header">My page</div>
<div ng-view></div>
<span class="footer">A footer</span>

로그인 후 복사

이렇게 하면

만 업데이트되고 머리글/바닥글은 항상 변경되지 않습니다.

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿