'페이지 라우팅'에 해당되는 글 1건

  1. 2014.09.15 Angular 페이지 라우트

Angular 페이지 라우트

Posted by 단순대왕 Angular.js : 2014. 9. 15. 14:34

Angular.js 라이브러리와 Knockout 라이브러리의 가장 큰 차이점은 라우터의 지원 유무입니다.


html 태그에 ng-app 속성 값을 부여합니다.

이 값은 생성하는 모듈의 이름과 같아야 합니다.

<html ng-app="basic"> // 모듈이름

<script>

var basic = angular.module('basic', [], function($routeProvider){

});


var products = [{}, {}, {} ... ];

</script>


라우터 설정

angular.module() 메서드의 세 번째 매개변수에 넣은 함수의 매개변수에 $routeProvier를 입력합니다.

when() - 특정 해시를 라우트합니다.

첫 번째 매개변수로 대상 URL을 지정

두 번째 매개변수로 템플릿 파일과 컨트롤러를 지정합니다.

otherwise() - when() 메서드로 지정하지 않은 해시를 라우트합니다.

redirectTo 속성이 있는 객체를 입력


예)

var basic = angular.module('basic', [], function($routeProvider){

$routeProvider.when('/products', {

templateUrl: 'products.html',

controller: ListController

});

$routeProvider.when('/products/:id', {

templateUrl: 'product.html',

controller: DetailController

});

$routeProvider.otherwise({

redirectTo: '/products'

});

});


뷰 설정

예) products.html

<ul>

<li ng-repeat="product in products">

<a href="#/products/{{product.id}}}>

<img src="{{product.src}}" />

</a>

<div>

<h4>{{product.name}}</h4>

<p>{{product.price.min}} ~ {{product.price.max}}</p>

<p>Description</p>

</div>

</li>

</ul>



HTMLPage.html

<body> 

<h1>{{title}}</h1>

<div ng-view></div>    // ng-view 속성 사용

</body>


컨트롤러 설정

<script>

function ListController($scope, $routeParams){

$scope.$parent.title = 'Product List';    // $parent 속성을 사용해 title 속성 지정

$scope.products = products;

}


function DetailController($scope, $routeParams){

$scope.$parent.title = 'Product Detail';

$scope.product = products[$routeParams.id];    

// when('/products/:id') 메서드를 사용했으므로 id 속성 을 사용할 수 있다.

}

</script>

컨트롤러는 ng-view 속성이 지정된 공간과 바인딩됩니다.

<body> 

<h1>{{title}}</h1>        // 컨트롤러 적용 범위의 상위에 위치

<div ng-view></div>     // 컨트롤러가 적용되는 범위

</body>

'Angular.js' 카테고리의 다른 글

angular example  (0) 2014.09.15
Angular 서비스  (0) 2014.09.15
Angular ng 속성  (0) 2014.09.12
Angular 컨트롤러  (0) 2014.09.12
Angular 설정  (0) 2014.09.12
  
 «이전 1  다음»