通过ng repeat将Angularjs $ index传递给onchange,输入类型为file

时间:2018-10-13 04:42:35

标签: javascript html angularjs

您好,我是Angularjs的新手。我正在使用ng repeat创建表行,行包含输入类型文件,因此我想从其他行上载不同的文件。我想使用onchange方法为每一行传递索引。但是索引总是返回零。 代码段

input type="file" onchange="angular.element(this).scope().file_changed(this)" 

scope.file_changed = function (element) { 
var index = angular.element(element).scope().$index;
var files = element.files;

};

1 个答案:

答案 0 :(得分:1)

我不确定使用 angular.element 调用 file_changed()方法的意图是什么。这不是angular js中正确的方法。如果此方法已经在您的控制器范围内,则可以像下面这样直接从html访问访问,并且可以将$ index作为参数传递给该方法。

 <div ng-repeat="row in rows track by $index">
    <input type="file" onchange="file_changed(this,$index)" 
  </div>

我假设您的控制器会喜欢这个

  app.controller('YourController', function($scope) {
       $scope.file_changed=function(element,index){ 
            var files = element.files;
       }  
});