我想使用div重复数据,在这个div中,我还有一个重复使用第一次重复的id值。所以我想在ng-init中使用函数传递此值,但出现错误。
<div ng-controller="ProductsCtrl" ng-init="getData()">
<div class="col-sm-12" ng-repeat="data in form">
<div class="card">
<div class="card-header">
<h4>{{data.title}}</h4>
</div>
<div class="card-block">
<div class="row" ng-init="getImages({{data.id}})">
<div class="form-group col-sm-3" ng-repeat="image in images">
<figure>
<img ng-src="{{imgURL}}/{{image.file_name}}" width="220" height="176">
<figcaption>Fig.1 - A view of the pulpit rock in Norway.</figcaption><br />
<label>Description : {{image.remarks}}</label><br />
<a href="">Read More . .</a>
</figure>
</div>
</div>
</div>
<div class="card-footer">
<h4>{{data.description}}</h4>
</div>
</div>
</div>
</div>
因此,如何在ng-init =“ getImages({{data.id}}))中传递{{data.id}}?如果我将值ng-init =“ getImages(15)”放进去,则该项目将出现。
file.js
$scope.getImages = function (id2) {
$http.get(commonData.apiURL + 'product/detailsImage.php?id='+id2)
.success(function (data) {
$scope.images = data;
//console.log(JSON.stringify(data));
})
.error(function (data, status, headers, config) {
$scope.errorMessage = "Couldn't load the list of Orders, error # " + status;
console.log("error");
});
}
最佳答案
您需要记住一件事,如果您想让角度代码在html页面上工作,请使用{{}}。而且,如果您要编写带有angular属性的代码,则不需要这些花括号。这意味着,如果某些东西已经成为angularjs的一部分,则无需使用花括号。
要解决此问题,您需要替换以下行
<div class="row" ng-init="getImages({{data.id}})">
与下面这行
<div class="row" ng-init="getImages(data.id)">