tôi có chỉ thị trong đó tôi đã thêm đồng hồ vào mô hình 'existingfiles' của phạm vi chỉ thị. Khi có thay đổi trong mô hình thông qua phạm vi. $ Áp dụng, không có cuộc gọi đến người nghe trong đồng hồ.
Đây là mã chỉ thị, vui lòng cho tôi biết nếu tôi đang thiếu một cái gì đó ở đây,
directive('fileuploadPlugin', function() {
var linkFn;
linkFn = function(scope, element, attrs) {
angular.element(element).ready(function() {
jQuery('#fileupload').fileupload({
done: function (e, data) {
scope.$apply(function(scope) {
for(var i=0; i < data.result.filesuploaded.length; i++){
scope.existingfiles.push(data.result.filesuploaded[i]);
};
});
}
});
scope.$watch('existingfiles', function(newValue, oldValue) {
element.imagesLoaded(function() {
scope.$apply(function() {
element.masonry({
itemSelector : '.box'
});
});
});
});
};
return {
templateUrl : 'templates/fileupload_plugin.htm',
restrict : 'A',
scope : {
existingfiles : '=ngModel',
},
link : linkFn
};
})
Đây là cuộc gọi của tôi để chỉ thị,
<div fileupload-plugin ng-model="existingfiles"></div>
Vui lòng cho tôi biết làm thế nào để đảm bảo mô hình đó được xem đúng cách
Ai da thunk. Tham số thứ 3: objectEquality (tùy chọn) - {boolean =} - So sánh đối tượng để bình đẳng hơn là tham chiếu. –
Hoặc nhớ gọi phạm vi. $ Digest() sau mỗi thay đổi trong phạm vi để buộc cập nhật trong bộ điều khiển – Pencilcheck
giải quyết nó cho tôi, cảm ơn bạn! –