angular.jsをチュートリアルから学ぶ step5 XHRs & Dependency Injection
- 2013.10.28
- javascript Prog
- angular.js, フレームワーク
前回までは固定されたデータを利用していましたが、
今回のチュートリアルでは外部json形式のデータを取得して表示に利用します。
参考先チュートリアル step5
5 – XHRs & Dependency Injection
json呼び出し部分
Controller内で$http.getを利用してjsonを取得しています。
phonecatApp.controller('PhoneListCtrl', function($scope, $http) {
$http.get('phones.json')
.success(function(data) {
$scope.phones = data;
});
$scope.orderProp = 'age';
});
phones.json
同じディレクトリにphones.jsonファイルを作成して保存します。
本家のチュートリアルのデータを変更しているため少々データの中身が異なります。
[
{
"age": "13",
"id": "3",
"name": "motorola",
"snippet": "are you ready for everything life throws your way?"
},
{
"age": "3",
"id": "1",
"name": "nexus",
"snippet": "nexus!!"
},
{
"age": "17",
"id": "2",
"name": "one",
"snippet": "HTC COOOOOOOOL!!"
}
]
実行結果
jsonで取得したデータのname要素を表示しています。
ソースコード全体
<!DOCTYPE HTML>
<html lang="ja" ng-app="phonecatApp">
<head>
<meta charset="utf-8">
</head>
<body ng-controller="PhoneListCtrl">
<div class="container">
<input ng-model="query">
<select ng-model="orderProp">
<option value="name">アルファベット順</option>
<option value="age">新着順</option>
</select>
<h3>Phone Gallery: {{query}}</h3>
<p>totalphone: {{phones.length}}</p>
<ul class="phones">
<li ng-repeat="phone in phones | filter:query | orderBy:orderProp">
{{phone.name}}
</li>
</ul>
</div>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script>
<script src="http://ajax.googleapis.com/ajax/libs/angularjs/1.1.5/angular.min.js"></script>
<script src="dist/js/bootstrap.min.js"></script>
<script>
var phonecatApp = angular.module('phonecatApp', []);
phonecatApp.controller('PhoneListCtrl', function($scope, $http) {
$http.get('phones.json').success(function(data) {
$scope.phones = data;
});
$scope.orderProp = 'age';
});
</script>
</body>
</html>
-
前の記事
angular.jsをチュートリアルから学ぶ step4 Two-way Data Binding 2013.10.26
-
次の記事
Better Together • GitHub Music Video [YouTube] 2013.10.29
コメントを投稿するにはログインしてください。