コントローラの機能にangleディレクティブでデータを渡すことができません。ディレクティブにはchangeイベントが1つあります。私は私の動的なIDを渡したいと思う。私はHTMLを以下しているmyarrayのAngularJs#入力ファイルのディレクティブのchangeイベントのスコープ変数を渡す方法
$scope.myArray = [1,2,3,4,5];
を持つコントローラで 。
<div ng-repeat="data in myArray track by $index">
<input type="file" ng-upload-change="uploadFile($event, $id)" my-id="$index">
<div>
コントローラーで
:ディレクティブで
$scope.uploadFile = function($event, $id){
var files = $event.target.files;
console.log("id:"+$id);
};
:
app.directive('ngUploadChange', function() {
return{
scope:{
ngUploadChange:"&",
myId:"="
},
link:function($scope, $element, $attrs){
$element.on("change",function(event){
$scope.ngUploadChange({$event: event, $id : $scope.myId});
})
$scope.$on("$destroy",function(){
$element.off();
});
}
}
});
あなたは私がngUploadChangeディレクティブにuploadFile機能を渡すとき、それは常に(この場合は最初のIDを渡すことを見ることができるように1)コントローラ機能です。 私はいつも更新IDを取得していません。
ありがとうございます。
私はバイオリンで、あなたの問題を試みたが、私は常に更新のIdsを取得します。 [これを試してください](http://jsfiddle.net/HB7LU/28624/)、あなたの問題から離れて何が欠けているのを確認しますか? – anoop