Ответ 1
Проблема решена путем предоставления "истины" в качестве третьего параметра вызова $watch. Пожалуйста, найдите здесь, больше информации о третьем параметре,
У меня есть директива, в которой я добавил часы на модели существующего файла области действия. При изменении модели по охвату. $Apply, нет вызова слушателю в часах.
Вот код директивы, любезно сообщите мне, если я что-то упустил,
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
};
})
Вот мой призыв к директиве,
<div fileupload-plugin ng-model="existingfiles"></div>
Пожалуйста, дайте мне знать, как убедиться в правильности просмотра модели.
Проблема решена путем предоставления "истины" в качестве третьего параметра вызова $watch. Пожалуйста, найдите здесь, больше информации о третьем параметре,