サードパーティの API (uploadcare) をディレクティブにコンパイルしたいと考えています。
APIは非同期でアップロードされた後にデータ情報を返します。コントローラーで戻りデータを使用して何かをしたいのですが、戻りデータをディレクティブからコントローラーに渡す方法を考えなければなりません。以下は私のコードです。
jsで
link: function (scope, element, attrs) {
//var fileEl = document.getElementById('testing');
var a = function() {
var file = uploadcare.fileFrom('event', {target: fileEl});
file.done(function(fileInfo) {
//scope.$apply(attrs.directUpload)
//HERE IS MY PROBLEM.
//How can I get the fileInfo then pass and run it at attrs.directUpload
}).fail(function(error, fileInfo) {
}).progress(function(uploadInfo) {
//Show progress bar then update to node
console.log(uploadInfo);
});
};
element.bind('change', function() {a()});
}
htmlで
<input type="file" direct-upload="doSomething()">
コントローラーで
$scope.doSomething = function() {alert(fileInfo)};