Ich möchte meinen dropZone-Bereich zurücksetzen, indem ich auf Reset-Schaltfläche klicke, aber ich kann die resetDropzone-Funktion (in directivejs) nicht von meinem Controller aus aufrufen. Können Sie mir bitte meine directive.js helfen ist:
function dropZone() {
console.log("access");
return {
restrict: 'C',
link: function (scope, element, attrs) {
var config = {
url: 'http://localhost:8080/upload',
maxFilesize: 100,
paramName: "uploadfile",
maxThumbnailFilesize: 10,
parallelUploads: 1,
autoProcessQueue: false
};
var eventHandlers = {
'addedfile': function (file) {
scope.file = file;
if (this.files[1] != null) {
this.removeFile(this.files[0]);
}
scope.$apply(function() {
scope.fileAdded = true;
});
},
'success': function (file, response) {
}
};
dropzone = new Dropzone(element[0], config);
angular.forEach(eventHandlers, function (handler, event) {
dropzone.on(event, handler);
});
scope.processDropzone = function() {
dropzone.processQueue();
};
scope.resetDropzone = function() {
console.log("resetDropzon mthd");
dropzone.removeAllFiles();
};
}
}
}
ich diese Funktion von HTML-Code aufrufen als ng-Klick = "reset()" und mein Controller ist:
$scope.reset = function() {
console.log("reset mthd");
$scope.resetDropzone();
};
wo '$ scope.reset' Funktion liegt? es scheint nicht Teil des Bereichs der Direktive zu sein. –
'$ scope.reset' befindet sich in meinem Controller (MainCtrl.js). Wie kann ich es reparieren? Gibt es irgendetwas, dass ich es ändern sollte? –