我有一个分页表(primeface datatable),更改页面,内容通过ajax加载。 在ajax请求的完整事件中,data-ng-click属性被添加到所有行。
以下是tr的呈现方式
<tr data-ng-click="init(1,2)" class="ui-widget-content ui-datatable-even ui-datatable-selectable ui-state-highlight" aria-selected="true" role="row" data-rk="1-2" data-ri="0" >
以下是我将数据-ng-click属性添加到tr的方法,以及如何定义角度app和控制器:
angularizeDataTable();
function angularizeDataTable(){
$("[data-rk]").each(function(i, val){
idt = $(this).attr("data-rk").split("-")[0];
idv = $(this).attr("data-rk").split("-")[1];
$(this).attr("data-ng-click", "init("+idt+","+idv+")");
})
.promise().done(function(){
app = angular.module('myapp', []);
app.controller('MainController', function($scope, $http){
$scope.init = function(idt,idv){
alert(idt+","+idv);
};
});
});
}
angularizeDataTable函数在页面加载时执行,每次我更改页面
<p:ajax event="page" oncomplete="angularizeDataTable()" />
但是在页面事件触发后,数据-ng-click被忽略,为什么?
答案 0 :(得分:0)
我认为您需要在元素上运行$ compile服务以使ng-click正常工作