1 index.html[ | ]
html
Copy
<!doctype html>
<html>
<head>
<script src="//ajax.googleapis.com/ajax/libs/angularjs/1.3.5/angular.min.js"></script>
<script src="//code.angularjs.org/1.2.28/angular-route.min.js"></script>
</head>
<body ng-app="BestsellerApp5">
<div class="header">
<a href="#">이달의 베스트셀러</a>
</div>
<div ng-view></div>
<!-- Modules -->
<script src="js/app.js"></script>
<!-- Controllers -->
<script src="js/controllers/HomeController.js"></script>
<script src="js/controllers/BookController.js"></script>
<!-- Services -->
<script src="js/services/books.js"></script>
<!-- Directives -->
</body>
</html>
2 js/app.js[ | ]
JavaScript
Copy
var app = angular.module('BestsellerApp5', ['ngRoute']);
app.config(function ($routeProvider) {
$routeProvider
.when('/', {
controller: "HomeController",
templateUrl: "views/home.html"
})
.when('/books/:id', {
controller: 'BookController',
templateUrl: 'views/book.html'
})
.otherwise({
redirectTo: '/'
});
});
3 js/controllers/HomeController.js[ | ]
JavaScript
Copy
app.controller('HomeController', ['$scope', 'books', function($scope, books) {
books.success(function(data) {
$scope.books = data;
});
}]);
4 js/controllers/BookController.js[ | ]
JavaScript
Copy
app.controller('BookController', ['$scope', 'books', '$routeParams', function($scope, books, $routeParams) {
books.success(function(data) {
$scope.detail = data[$routeParams.id];
});
}]);
5 js/services/books.js[ | ]
JavaScript
Copy
app.factory('books', ['$http', function($http) {
return $http.get('http://zetawiki.com/ex/json/books.json')
.success(function(data) {
return data;
})
.error(function(data) {
return data;
});
}]);
6 views/home.html[ | ]
html
Copy
<div class="main">
<h2>책 목록</h2>
<div ng-repeat="book in books">
<a href="#/books/{{$index}}">
<p> {{ book.name }} ({{ book.author }}) </p>
</a>
</div>
</div>
7 views/book.html[ | ]
html
Copy
<div class="book">
<h2>{{ detail.name }}</h2>
<p>{{ detail.author }} 지음</p>
<p>{{ detail.price | number }}원</p>
</div>
8 테스트[ | ]
9 같이 보기[ | ]
편집자 Jmnote Jmnote bot
로그인하시면 댓글을 쓸 수 있습니다.