这是我的drawCallBack函数:
"fnDrawCallback": function( oSettings ) {
console.log("dt redrawn");
var selector = $("#example_table");
console.log(selector);
function recompileForAngular() {
angular.element(document).injector().invoke(['$compile', function ($compile) {
// Create a scope.
var $scope = angular.element(document.body).scope();
// Specify what it is we'll be compiling.
var to_compile = $(selector).html();
// Compile the tag, retrieving the compiled output.
var $compiled = $compile(to_compile)($scope);
// Ensure the scope and been signalled to digest our data.
$scope.$digest();
// Replace the compiled output to the page.
$(selector).html($compiled);
}]);
}
function init(recompile) {
recompile();
}
init(recompileForAngular);
},
这在加载数据表时工作正常,但是在点击另一个页面(例如第二页)时,表格HTML不会被从AJAX调用返回的新数据刷新。
似乎angular正在编译从$("#example_table").html();
得到的旧HTML。
在渲染完成时捕获事件的方法是什么(这样我可以重新编译新的,新呈现的HTML)?
答案 0 :(得分:0)
更改选择器,以表格主体为目标可解决此问题。
var selector = $("#exampleTable tbody");