2015-03-13 65 views
6

我想要將上傳腳本整合到我的網頁。我正在使用uploadcare.com。他們提供了一個簡單的指令,但我不能得到它的工作:angularjs databinding爲uploadcare.com不工作

https://github.com/uploadcare/angular-uploadcare/blob/master/angular-uploadcare.js 

我設置NG-模型=「測試」,並在我的控制器我有以下幾點:

angular.module('testApp') 
    .controller('MyCtrl', function ($scope) { 
    $scope.test = "test"; 
    }); 

HTML代碼看起來像這樣:

<uploadcare-widget ng-model="test" data-public-key="xyz" /> 

當我檢查螢火我可以看到小部件的工作原理:

<input type="hidden" role="uploadcare-uploader" ng-model="test" data-public-key="6e0958899488d61fd5d0" data-crop="1200:630" value="http://www.ucarecdn.com/ca5513da-90f1-40d1-89e7-648237xxxxxx/-/crop/2560x1344/0,128/-/preview/" class="ng-isolate-scope ng-valid"> 

但是這個輸入值永遠不會回填到我的「$ scope.test」中。這是爲什麼? 當我輸出$ scope.test它仍然說「測試」,而不是我的圖像路徑值。

+0

@yretuta內部指令範圍變量? v0.1.0似乎不像正確處理數據綁定。看到這個提交在這裏:https://github.com/uploadcare/angular-uploadcare/commit/c048f4651723366e7b163c8335567feedc2362a9 – 2015-08-04 18:56:42

回答

2

您可以使用$觀看角度

$scope.$watch('test', function(newValue, oldValue) { 
    console.log($scope.test); 
}); 

或者通過uploadcare

$scope.onUCUploadComplete = function(info){ 
    console.log(info); 
}; 

提供的功能,爲圖像後的回調函數上傳

1

請檢查測試的範圍模型。 你也可以你使用這個指令的最新版本更新一樣

scope.test = $element.value()