Я использую плагин Fotorama с AngularJS. Если я устанавливаю директиву ng-click
внутри разметки Fotorama, она не вызывает обработчик. Вот мой пример разметки:ng-click не работает с плагином fotorama
<div class="fotorama" data-click="false">
<div onclick="myJsHandler()">
<img src="/images/2.png"/>
</div>
<div ng-click="myNgHandler()">
<img src="/images/1.png"/>
</div>
</div>
Первый обработчик (не угловая) работает нормально, но второй не делает. Похоже, причина в том, что Fotorama восстанавливает DOM, и AngularJS не знает об этих изменениях. Единственный способ решения проблемы я нашел требуется использовать $compile
службы непосредственно из не Углового кода:
$(function(){
$(".fotorama").each(function() {
var content = $(this);
angular.element(document).injector().invoke(function($compile) {
var scope = angular.element(content).scope();
$compile(content)(scope);
});
});
});
Есть ли лучший способ интегрировать Fotorama с AngularJS?
Я пытался использовать его, но, кажется, что он не поддерживает пользовательскую разметку для галереи элементов. – Random