मूल रूप से यह वह समाधान है जिसका मैंने उपयोग किया है।
$ लागू () का उपयोग केवल बाहरी स्रोतों द्वारा सही परिस्थितियों में किया जाना चाहिए।
इसके बजाय लागू का उपयोग करते हुए, मैंने कॉल स्टैक के अंत में अद्यतन करने की गुंजाइश फेंक दी है। के रूप में के रूप में अच्छा काम करता है "गुंजाइश। $ लागू (attrs.imageonload) (सच);"।
window.app.directive("onImageload", ["$timeout", function($timeout) {
function timeOut(value, scope) {
$timeout(function() {
scope.imageLoaded = value;
});
}
return {
restrict: 'A',
link: function(scope, element, attrs) {
element.bind('load', function() {
timeOut(true, scope);
}).bind('error', function() {
timeOut(false, scope);
});
}
};
}]);