Angular js ng-repeat不起作用

时间:2016-07-11 05:26:57

标签: javascript angularjs angularjs-ng-repeat

我已经完成了一个带有角度js的示例应用程序,并添加了一个ng-repeat来循环我的数据,但它没有循环它。我在下面显示了我的代码

 <li style="background: white url('{{book.imgUrl}}') no-repeat" ng-repeat="book in books">
          <div>
            <h3>{{book.name}}</h3>
            <p>{{book.price}}</p>
            <ul>
              <li>Rating: {{book.rating}}</li>
              <li>Binding: {{book.binding}}</li>
              <li>Publisher: {{book.publisher}}</li>
              <li>Released: {{book.releaseDate}}</li>
            </ul>
            <p>{{book.details}}</p>
            <button class="btn btn-info pull-right" ng-click="addToKart(book)">Add to Kart</button>
          </div>
        </li>

我创建了问题here

的实时演示

6 个答案:

答案 0 :(得分:1)

为了从控制器获取视图中的值,您必须将其与$ scope绑定。

您的books变量未与范围绑定

转换此

var books=[

到这个

$scope.books=[

或者像这样

$scope.books=books

DEMO

答案 1 :(得分:1)

试试这个

使用$scope.books代替var books = [];

答案 2 :(得分:1)

在您的控制器中,而不是使用

var books

使用

$scope.books

答案 3 :(得分:1)

你很亲密。

而不是var book,你需要将book变量与$ scope粘合在一起

喜欢

 $scope.book=[{

   // Rest of code
}]

首先将依赖项作为字符串传递,否则您可能会在缩小期间看到错误

    app.controller('BookListCtrl',["$scope", function($scope) {
   // Rest of code

}])

答案 4 :(得分:1)

您应该使用$scope.books而不是var books。

DEMO

答案 5 :(得分:0)

按照以下

在特定控制器范围对象参数中分配您的图书
app.controller('BookListCtrl', function($scope) {
$scope.books=books;
})