2015-03-13 22 views
6

Tôi đang cố gắng tích hợp tập lệnh tải lên vào trang của mình. Tôi đang sử dụng uploadcare.com. Họ cung cấp một chỉ thị đơn giản nhưng tôi chỉ có thể không nhận được nó để làm việc:angularjs databinding cho uploadcare.com không hoạt động

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

Tôi đang thiết ng mô hình = "test" và trong bộ điều khiển của tôi, tôi đã điều sau đây:

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

mã html trông như thế:

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

Khi tôi kiểm tra Firebug tôi có thể thấy rằng các widget hoạt động:

<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"> 

Nhưng giá trị đầu vào này không bao giờ được điền vào "$ scope.test" của tôi. Tại sao vậy? Khi tôi đầu ra $ scope.test nó vẫn nói "kiểm tra" thay vì giá trị đường dẫn hình ảnh của tôi.

+0

@yretuta Bạn đang sử dụng phiên bản mới nhất của chỉ thị này? Phiên bản v0.1.0 dường như không xử lý đúng ràng buộc dữ liệu. Xem cam kết này tại đây: https://github.com/uploadcare/angular-uploadcare/commit/c048f4651723366e7b163c8335567feedc2362a9 –

Trả lời

2

Bạn có thể sử dụng $ xem ở góc

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

Hoặc chức năng được cung cấp bởi uploadcare

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

Đó là một chức năng gọi lại sau khi hình ảnh được tải lên

1

Vui lòng kiểm tra phạm vi thử nghiệm mô hình. Bạn cũng có thể cập nhật biến phạm vi bên trong chỉ thị như

scope.test = $element.value() 
Các vấn đề liên quan