所以我一直在做兩個簡單的Angular應用程序作爲Free Code Camp的一部分,並且我得到了不同的結果。在第一個應用程序中,一切似乎都正常工作。我調用了一個$http.get()
,返回了一個對象數組,並且我可以使用ng-repeat
(ARRAY中的鍵)用數據填充我的頁面。這種筆可以在這裏找到:http://codepen.io/StephenMayeux/pen/ZbBgapng-repeat在一個應用程序中工作,但不是其他
我的第二個應用程序是幾乎相同的(使API調用,這次維基百科),而是因爲JSONP
(而不是CORS)需要得到任何數據,它使用$http.json()
,而不是GET從維基百科。長話短說,我能夠解析這些數據並將其推送到一個數組。
而且我有一個很好的對象數組,我應該可以用ng-repeat迭代...但是沒有任何事情發生。這裏是鏈接到鋼筆,或者你可以看看下面的代碼: http://codepen.io/StephenMayeux/pen/WQRawr
(function() {
var app = angular.module('wikipedia', []);
app.controller('WikiController', ['$http','$scope', function($http, $scope) {
$scope.search = { text: '' };
var api = 'http://en.wikipedia.org/w/api.php?format=json&action=query&generator=search&gsrnamespace=0&gsrlimit=10&prop=pageimages|extracts&pilimit=max&exintro&explaintext&exsentences=1&exlimit=max&gsrsearch=';
var apiEnding = '&callback=JSON_CALLBACK';
var pageUrl = 'http://en.wikipedia.org/?curid=';
$scope.search = function() {
var final = [];
$http.jsonp(api + $scope.search.text + apiEnding).success(function(data) {
var results = data.query.pages
angular.forEach(results, function(v,k) {
final.push({title: v.title, body: v.extract, page: pageUrl + v.pageid})
})
console.log(final);
});
};
}]);
})();
<html ng-app="wikipedia">
<body ng-controller="WikiController">
<div class="container">
<h1>Wikipedia Search Engine</h1>
<form class="form-inline" novalidate>
<div class="form-group">
<label class="sr-only" for="searchInWikipedia">Search Wikipedia by using this textbox</label>
<input type="text" class="form-control" ng-model="search.text" placeholder="What do you want to learn about today?">
</div>
<button type="submit" class="btn btn-primary" ng-click="search()"><span class="glyphicon glyphicon-search"> Search</span></button>
</form>
<div >
<div id="search-results" ng-repeat="key in final">
<h3>{{key.title}}</h3>
<p>{{key.body}}</p>
</div>
</div>
</div>
</body>
</html>
我:
1)檢查錯別字。
2)打印到控制檯,我肯定會得到一組對象。 3)只使用Angular,沒有其他類似jQuery的庫可能與我的代碼發生衝突。
任何想法或指針?
似乎最後的變量不是範圍變量! –