2015-06-15 53 views
0

我正在使用AngularJS的Fotorama插件。如果我在Fotorama標記中放入ng-click指令,它不會觸發處理程序。 這裏是我的樣品標記: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整合什麼更好的辦法?

回答

相關問題