javascript - ng-repeat 渲染空的 li 元素

标签 javascript angularjs

我正在使用 ng-repeat 循环遍历烂番茄 API 并显示电影标题。这是我的代码

JS:

var app = angular.module('app', []);

app.controller('ApiCtrl', function($http){
var app = this;
var url = "http://api.rottentomatoes.com/api/public/v1.0/lists/movies/box_office.json"
var key = "?apikey=myKey"

$http.get(url+key)

.success(function(data) {
  app.movies = data;
  console.log(data);
 })   
})

HTML:

<li ng-repeat="movie in app.movies">
    {{movie.title}}
</li>

</body>

这会在屏幕上输出 3 个空白 li 元素,如果我只调用 {{movie}},那么整个对象都会被输出,这样我就知道绑定(bind)是正确的。

JSON 示例:

"movies": [
{
  "id": "771315918",
  "title": "Divergent",
}]

最佳答案

你的$scope在哪里?

尝试如下:

var app = angular.module('app', []);

app.controller('ApiCtrl', function($scope, $http){
var url = "http://api.rottentomatoes.com/api/public/v1.0/lists/movies/box_office.json"
var key = "?apikey=myKey"

$scope.movies = $http.get(url+key);

我不确定上面的代码是否适用于$http。我的建议是,在尝试从服务器获取数据之前,让所有 Angular 东西正常工作。例如,像这样定义 $scope.movi​​es:

$scope .movies =  [
    {
      "id": "771315918",
      "title": "Divergent",
    }
];

首先让其正常工作。

关于javascript - ng-repeat 渲染空的 li 元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22750908/

相关文章:

javascript - 如何扫描段落中的主题标签并将它们放入 Javascript/AngularJS 中的数组中

angularjs - 当 Loopback find() 的子级为空时,从第一级过滤器中排除项目

javascript - 我如何自定义此 Canvas 的设计?

javascript - 获取最后一行内输入的名称

javascript - HTML5 模式中的 $location 需要 <base>

javascript - 如何在angularjs中使用带有ng-repeat的动画

javascript - 使用时区缩写将日期转换为用户偏好时区

javascript - Angular2 - 在路由和渲染组件之前通过服务获取数组

javascript - Google 图表 - 第 138 行 loader.js 繁忙时出现错误

javascript - Jquery Accordion 的事件状态