我正在制作一个简单的角度/轨道应用程序作为9gag查看器,仅用于练习。 I am using the unofficial api它似乎有效。我设置了rails app,而rails只是提供角度。我可以在一个javascript文件中调用api,并且它会吐出数据,所以我知道这部分可以工作。
当我进入控制台时,我看到了"成功"我输入的消息,所以唯一不起作用的代码是角度。这是我到目前为止所拥有的;
app.js
window.App = angular.module('chadder', ['ngResource'])
hot_ctrl.js
App.controller('HotCtrl',['$scope', '$http', function($scope,$http){
$scope.data = [];
$http.get('http://infinigag.eu01.aws.af.cm/trending/0').success(function(data){
console.log("success");
return $scope.data = data;
});
}]);
index.html.erb
<div class="container" ng-controller="HotCtrl" id="test">
<div class="row" ng-repeat="hot in hot">
<h2>{{ data.caption }}</h2>
<p>{{ data.link }}</p>
</div>
</div>
我使用的是我用来访问其他rails api的服务,但由于我遇到的错误,我认为这只是让你访问本地的api(即localhost:3000 / api / something.json)。我没有使用它,但我确实有这个设置;
hot.js
App.factory('Chadder', [
'$resource', function($resource) {
return $resource('http://infinigag.eu01.aws.af.cm/trending/0', []);
}
]);
因为我看到了&#34;成功&#34;,而且我可以在网页上看到API数据,我很确定我唯一做错的事情就是没有给出正确的角点。任何帮助,将不胜感激。
答案 0 :(得分:1)
您没有正确阅读源数据对象
以
的形式返回{
data: [/* array of objects */],
paging :{} /*object*/
}
此外,您的ng-repeat
毫无意义。您没有要重复的范围数组hot
。然后在ng-repeat
内,您没有引用您创建的对象hot
。
使用您当前的范围设置,您需要重复data.data
<div class="row" ng-repeat="hot in data.data">
<h5>{{ hot.caption }}</h5>
<p>{{ hot.link }}</p>
</div>
的 DEMO 强>