[英]Angular ng-click is not working when using DOM
我已經從控制器創建了<img>
運行時,並且已經使用ngSanitize
將html編譯為受信任的html。
代碼是:
$scope.renderImageHtml = function(html_code) {
var finalHtml = "" + $sce.trustAsHtml(html_code);
finalHtml = finalHtml.replace(/<img/g, "<img data-ng-click=\"fullScreenImage()\" ");
return $sce.trustAsHtml(finalHtml);
};
$scope.fullScreenImage = function() {
console.log("fullScreenImage");
}
在完成html代碼后,如下所示:
<img data-ng-click="fullScreenImage()"
alt="" src="http://192.168.0.16/userfiles/image/EMI1.png"
style="width: 200px; height: 99px;">
html正確,但click事件不起作用
您需要使用$compile
來編譯HTML。還要在控制器中注入$ compile一個依賴項。
$scope.renderImageHtml = function(html_code){
var finalHtml = "" + $sce.trustAsHtml(html_code) ;
finalHtml = finalHtml.replace(/<img/g,"<img data-ng-click=\"fullScreenImage()\" ");
$compile(finalHtml)($scope);
return $sce.trustAsHtml(finalHtml);
};
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.