小编Mad*_*ush的帖子

Angular数据表嵌套行呈现

有没有更好的方法在angular-datatables中显示嵌套表?我通过使用rowCallback并设置click事件解决了我的问题:

$scope.dtOptions = DTOptionsBuilder.fromSource('data.json')
    .withOption('rowCallback', rowCallback)
Run Code Online (Sandbox Code Playgroud)

在一个点击处理程序中,我得到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');
        }
    });
}
Run Code Online (Sandbox Code Playgroud)

但感觉有点奇怪,特别是角度.这是Plunker的完整简化代码http://plnkr.co/edit/gVf926obJKTXvXU7fLdA?p=preview

datatables angularjs

6
推荐指数
1
解决办法
2550
查看次数

在NODE中使用Redis SCAN

我有一些格式的Redis有很多键,我想获得匹配某些模式的键并对它们进行一些操作.我不使用KEYS方法,因为它不建议在生产中使用.使用SCAN我想知道在代码中编写它的最佳方法是什么.我必须做一些像while循环但使用promises的东西,我现在的解决方案看起来像这样(代码简化了一点):

'use strict'
const Promise = require('bluebird');
const config = require('./config');
const client = require('./clinet');

let iterator = 0;
Promise.coroutine(function* () {
  do {
    iterator = yield clinet.scanAsync(iterator, 'myQuery', 'COUNT', config.scanChunkSize)
      .then(data => {
        let nextIterator = data[0];
        let values = data[1];
        //do some magic with values
        return nextIterator;
      })
  } while (iterator !== '0');
})();
Run Code Online (Sandbox Code Playgroud)

有没有更好的方法来做到我错过了?

redis node.js ecmascript-6 bluebird

6
推荐指数
5
解决办法
9471
查看次数

标签 统计

angularjs ×1

bluebird ×1

datatables ×1

ecmascript-6 ×1

node.js ×1

redis ×1