1
這裏是我的HTML:如何使用AngularJS上傳文件?
<button class="btn btn-default" ng-click="selectFile()">Choose file</button>
<input type="file" accept="image/*" name="file" style="display: none;" id="photo-file" fileupload="uploadme">
在我的控制,我有:
$scope.selectFile = function() {
$("#photo-file").click();
}
我還創建了一個指令:
angular.module("MyApp")
.directive("fileupload", function($rootScope) {
return {
scope: {
'fileupload': "="
},
link: function(scope, element, attributes) {
return element.bind("change", function(changeEvent) {
return scope.$apply(function() {
return scope.fileread = changeEvent.target.files[0];
});
});
}
};
}
);
但缺少的東西。當我選擇要上傳的文件時,我希望它在控制器中運行一個功能。我怎樣才能做到這一點?
最簡單的方法可能是使用scope。$ parent。。該指令創建您正在使用的任何控制器的子範圍。 –
您可以在控制器中'監視'綁定到'fileupload'的變量,並在變化時採取行動。 –