[英]Angularjs ng-click event on ajax-loaded element not firing
我無法使點擊事件從通過Ajax加載的某些內容中觸發。 從以下代碼中看不到任何console.log:
myApp.controller("MainController", function($scope, $http, $sce){
$scope.showModal = false;
$scope.openModal = function(name){
$scope.showModal = true;
$http({
method : 'GET',
url : '/template/fetch?name=' + name
}).success(function(modalHtml){
$scope.modalHtml = $sce.trustAsHtml(modalHtml);
$scope.closeModal = function(){
console.log("test 2");
};
});
};
$scope.closeModal = function(){
console.log("test 1");
};
});
這是通過ajax加載的html:
<div class="modal">
<div class="modal-cover">
</div>
<div class="modal-container">
<div class="modal-close" ng-click="closeModal()"></div>
<div class="modal-content-container" ng-bind-html="modalContent">
</div>
</div>
</div>
謝謝!
我認為最簡單的方法是采用ngInclude
指令,並將模板網址用作此方向的src
值:
<div class="modal">
<div class="modal-cover">
</div>
<div class="modal-container">
<div class="modal-close" ng-click="closeModal()"></div>
<div class="modal-content-container" ng-include src='modalContentUrl'>
</div>
</div>
</div>
和控制器的代碼:
$scope.modalContentUrl = '';
$scope.openModal = function(name) {
$scope.showModal = true;
$scope.modalContentUrl = '/template/fetch?name=' + name;
};
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.