我想編譯一個指令的第三方api(uploadcare)。如何將異步數據從指令傳遞到控制器?
api將在async上傳後返回數據信息,然後我想用控制器中的返回數據做一些事情,但我必須瞭解如何將指令的返回數據傳遞給控制器。以下是我的代碼。
在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)};
順便說一句,'uploadcare.fileFrom( '事件',...)'已經過時,在1.0版本中刪除。你應該使用'uploadcare.fileFrom('object',fileEl.files [0])'。 –
@mojo明白了...... – vzhen