为角度数据表td添加ng-click事件

时间:2016-12-27 10:21:01

标签: angularjs angular-datatables

之前我添加了一个ng-click事件来调用$event.stopPropagation

<td ng-click="$event.stopPropagation();">
    <button type="button" class="btn btn-default margin-right-5" ui-sref="patient( { id : patient._id } )">
        <i class="fa fa-edit"></i>
    </button>
    <button type="button" class="btn btn-danger" ng-click="vm.deletePatient( patient._id )">
        <i class="fa fa-trash-o"></i>
    </button>
</td>

现在我已经重构了我的代码并使用了DTColumnBuilder

DTColumnBuilder.newColumn( '_id' ).withTitle( 'Options' ).notSortable()
.renderWith( function ( data, type, full, meta ) {
    return '<button type="button" class="btn btn-default margin-right-5" ui-sref="patient( { id : \'' + data + '\' } )">' +
            '<i class="fa fa-edit"></i> ' +
        '</button>' +
        '<button type="button" class="btn btn-danger" ng-click="vm.deletePatient(\'' + data + '\')">' +
            '<i class="fa fa-trash-o"></i>' +
        '</button>'
} )

如何将$ event.stopPropagation添加到parent td

1 个答案:

答案 0 :(得分:1)

我不知道这是否是最佳方法,但我添加了一个div并在其中添加了$event.stopPropagation()。如果在使用DTColumnBuilder添加新列时存在ng-click方法,请告诉我,以便我可以重构我的代码。这只是一个解决方法。

DTColumnBuilder.newColumn( '_id', 'foo' ).withTitle( 'Options' ).notSortable()
.renderWith( function ( data, type, full, meta ) {
    return '<div ng-click="$event.stopPropagation()">' +
        '<button type="button" class="btn btn-default margin-right-5" ui-sref="patient( { id : \'' + data + '\' } )">' +
            '<i class="fa fa-edit"></i> ' +
        '</button>' +
        '<button type="button" class="btn btn-danger" ng-click="vm.deletePatient(\'' + data + '\')">' +
            '<i class="fa fa-trash-o"></i>' +
        '</button>' +
    '</div>'
} )