Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/463.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何在ng repeat中传递所选的$index?_Javascript_Html_Angularjs_Pug - Fatal编程技术网

Javascript 如何在ng repeat中传递所选的$index?

Javascript 如何在ng repeat中传递所选的$index?,javascript,html,angularjs,pug,Javascript,Html,Angularjs,Pug,我想上传图片并显示在页面上。我有5个图像,所以有5个数组,我使用ng repeat来显示它 以下是我的翡翠格式html: form.form-horizontal .form-group(ng-repeat="runningText in runningTexts") .col-md-3 label.cont

我想上传图片并显示在页面上。我有5个图像,所以有5个数组,我使用ng repeat来显示它

以下是我的翡翠格式html:

                form.form-horizontal       
                    .form-group(ng-repeat="runningText in runningTexts")
                        .col-md-3
                            label.control-label Image {{$index+1}}
                            .image-upload-area.label-centerleft
                                p(onclick="$('#imageFile').click()") Click me to change
                                img.loading(ng-show="isUploading" src="/img/loading.gif")    
                                img.img-responsive.clickable(ng-src="{{runningText.image != '' ? '/img/' + runningText.image : '/img/logo_d.png'}}")                                    

                form#imageUpload(enctype="multipart/form-data" action="/api/admin/display/image" ng-upload="uploadDone(content)" method="post")
                    input#imageFile(type="file" name="image" onChange="$('#imageSubmit').click();return false;" style="display:none")
                    input#imageSubmit(type="submit" ng-click="isUploading = true"  style="display:none") 
以下是我的js文件中的控制器:

    loadData = function(){  //page load function
    $http.get(apiPath)
        .success(function(data){  
            if (data != null){       
                $scope.runningTexts = data.displaySetting.runningText;
            }
        })  
    }  

    $scope.uploadDone = function(data) {  // upload finished function
    $scope.runningTexts[0].image = data.path;  // Problem here!!
    $scope.isUploading = false;
};

如何传递在html中选择的索引并将其放回$scope.runningText[0].image中。现在我使用的是0,所以我上传的每个图像都只显示在数组0中。如果我上传到数组1或数组2等,我该怎么做?

您需要在图像的单击事件中调用一个函数,并将$index作为参数传递给该函数

 <div ng-app="myApp" ng-controller="MainCtrl">
<ul>
    <li ng-repeat="page in pages">
        <a ng-class="{ testClass: $index == pageNumber }" ng-click="setPageNumber($index)">{{ page }}</a>
    </li>
</ul>
}))

你可以检查一下这把小提琴


像这样ng click=“loadData($index)”@Sajeetharan,我的问题是在上传完成期间,我的uploadDone函数如何知道我上传到了哪个数组?我使用ng repeat一次性加载所有数组。但在上传过程中,我一次只上传到一个数组。那是我的问题。
  var app = angular.module('myApp', []);

  app.controller('MainCtrl', function($scope) {
  $scope.pages = [
    'Page One',
    'Page Two',
    'Page Three'
];

$scope.pageNumber = 0;
$scope.setPageNumber = function(index) {
    $scope.pageNumber = index;
    console.log(index)
}