我想使用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">&nbsp;
                              <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)">

07-24 17:08