Что я после
Я хотел бы создать директиву ngLoad
для изображений на моей веб-странице. Это моя предпочтительная разметка:
<img ng-src="{{ src }}" ng-load="onLoad()">
Что у меня
Прямо сейчас у меня есть директива imgLoad
с ngLoad
, указанная в scope
, например:
var app = angular.module('app', []);
app.directive('imgLoad', [function() {
return {
restrict: 'A',
scope: {
loadHandler: '&ngLoad'
},
link: function (scope, element, attr) {
element.on('load', scope.loadHandler);
}
};
}]);
Полученная разметка:
<img ng-src="{{ src }}" img-load ng-load="onLoad()">
Изменить: Ранее я предполагал, что имя директивы (т.е. imgLoad
) должно отличаться от имени моего атрибута (т.е. ngLoad
). Это не тот случай. Решение состоит в том, чтобы называть мою директиву ngLoad
.
Что нужно изменить
Я хочу избавиться от атрибута imgLoad
. Я хочу, чтобы ngLoad
работал независимо от каких-либо других атрибутов.
Что я уже видел
Моя реализация основана на:
- функция директивного вызова angularjs, указанная в атрибуте и передающая ему аргумент
- AngularJS - изображение "onload" событие
- AngularJS: введение в директивы и $compile documentation
Любая помощь очень ценится!