angularjs - Angular 数据表嵌套行渲染

标签 angularjs datatables

有没有更好的方法在 Angular 数据表中显示嵌套表?
我通过使用 rowCallback 并设置点击事件解决了我的问题:

$scope.dtOptions = DTOptionsBuilder.fromSource('data.json')
    .withOption('rowCallback', rowCallback)

在单击处理程序中,我获取 dt-instance 并使用数据表实例中的行数据构建 html。
function rowCallback(tabRow, data, dataIndex) {
    $(tabRow).unbind('click');
    $(tabRow).on('click', function () {
        console.log('click');
        $(this).find('.a1-icon').toggleClass('fa-rotate-180');
        var tr = $(tabRow);
        var table = $scope.dtInstance.DataTable;
        var row = table.row(tr);

        if ( row.child.isShown() ) {
            // This row is already open - close it
            row.child.hide();
            tr.removeClass('shown');
        }
        else {
            // Open this row
            row.child( format(row.data()) ).show();
            tr.addClass('shown');
        }
    });
}

但感觉有点奇怪,尤其是对于 angular。这是带有完整简化代码的Plunker http://plnkr.co/edit/gVf926obJKTXvXU7fLdA?p=preview

最佳答案

 $(tabRow).on('click', function () {})

//instead of this "on" event Use "load"

 $(tabRow).load('click', function () {})

关于angularjs - Angular 数据表嵌套行渲染,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30427443/

相关文章:

javascript - DataTables 和 jQuery 在表中执行 onclick 事件

asp.net-mvc-4 - JQuery DataTable-在渲染函数中访问行数据,ajax 数据源未定义?

javascript - 我应该把 AngularJS 工厂和服务放在哪里?

javascript - 我如何从 AngularJS 中的编译中获得 promise ?

angularjs - 使用 Protractor 时如何运行单个特定测试用例

javascript - jQuery 数据表根据条件添加列

javascript - 更改数据表搜索标签

javascript - 如何检查 JavaScript 中对象中是否存在值

java - html 转义字符显示问题 "&#39"而不是单引号

javascript - Bootstrap Datatables 按部分单元格内容排序