У меня есть директива со следующим кодом:scope.watch наборы наблюдал модель, чтобы «не определено» в Угловое
(function(window, angular, undefined) {'use strict';
angular.module('widgets.avatarEditor', [])
.controller('AvatarEditorController', [
'$scope',
'$attrs',
'$timeout',
function($scope, $attrs, $timeout) {
}
])
.directive('avatarEditor', function() {
return {
restrict: 'E',
scope: {
originalImage: '=originalImage'
},
controller: 'AvatarEditorController',
templateUrl: '/config/static/partials/widgets/avatareditor.html',
link: function (scope, elm, attr) {
scope.watch('originalImage',function (newValue, oldValue, scope) {
console.log(newValue);
console.log(oldValue);
console.log(scope);
});
}
};
});
})(window, window.angular);
директива используется в приложении:
Частичное:
<avatar-editor original-image="currentPicture"></avatar-editor>
контроллер:
$scope.currentPicture = 'b';
$scope.avatars = AvatarsResource.get({}, function() {
$scope.currentPicture = 'bar';
});
Без scope.watch('originalImage',function (newValue, oldValue, scope)...
кода все работает отлично, но когда я добавить код часов, вдруг модель «originalImage» не определена.
Strage Дело в том, что событие часы правильно срабатывает.
ли кто-нибудь какие-либо идеи, что может вызвать этот bahavior?
Edit: я нашел что-то странное с параметрами функции слушателя вахты: новое_значение содержит «originalImage» OldValue содержит «Ъ» (реальное старое значение) контекст содержит «бар» (реальное новое значение)
Можете ли вы сделать jsFiddle пример для этого, пожалуйста? Это поможет увидеть, как это происходит в действии. – TwitchBronBron