gpt4 book ai didi

javascript - 在数据表的渲染列中使用 ng-click

转载 作者:行者123 更新时间:2023-12-03 03:20:31 24 4
gpt4 key购买 nike

我在 AngularJS 中使用普通数据表(不使用任何 Angular-Datatable 库)。到目前为止,一切似乎都很好,除了一件事。

我有这个数据表:

$scope.siInfoTable = $('#siInfoTable').DataTable({
'columns': [
{
"render": function (data, type, row, meta) {
data = '<button class="btn btn-primary btn-sm" ng-click="test()">TEST</button>';
return data;
}
}]
});

它在 $scope.load 方法内运行,并在页面呈现之前加载。当用户单击数据表中呈现的按钮时,它似乎无法识别 ng-click 指令。

这里有办法吗?

最佳答案

我建议您使用 angular-datables Angular 库,否则主要会发生什么。

  1. Controller 或指令中的更改不会反射(reflect)在输出 HTML 中。
  2. 某些错误可能会重复抛出。

减少您面临的问题数量。这是使用 Angular 数据表的片段。

取自 Angular Datatables Documentation

<小时/>

    angular.module('datatablesSampleApp', ['datatables', 'datatables.buttons']).
controller('sampleCtrl', function($scope, DTOptionsBuilder) {
$scope.dtOptions = DTOptionsBuilder.newOptions()
.withPaginationType('full_numbers')
.withDisplayLength(2)
.withOption('order', [1, 'desc']).withButtons([{
text: '<button class="btn">Some button</button>',
key: '1',
action: function(e, dt, node, config) {
alert('Button activated');
}
}]);
});
<!DOCTYPE html>
<html>

<head>
<link rel="stylesheet" href="//cdn.datatables.net/1.10.1/css/jquery.dataTables.css" />
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/2.1.3/jquery.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/datatables/1.10.9/js/jquery.dataTables.min.js"></script>
<script src="https://cdn.datatables.net/buttons/1.2.2/js/dataTables.buttons.min.js"></script>
<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/angular.js/1.6.5/angular.min.js"></script>
<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/angular-datatables/0.6.2/angular-datatables.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/angular-datatables/0.6.2/plugins/buttons/angular-datatables.buttons.min.js"></script>
<script src="script.js"></script>
</head>

<body ng-app="datatablesSampleApp">
<div ng-controller="sampleCtrl">
<table datatable dt-options="dtOptions">
<thead>
<tr>
<th>ID</th>
<th>First name</th>
<th>Last name</th>
</tr>
</thead>
<tbody>
<tr>
<td>1</td>
<td>Foo</td>
<td>Bar</td>
</tr>
<tr>
<td>123</td>
<td>Someone</td>
<td>Youknow</td>
</tr>
<tr>
<td>987</td>
<td>Iamout</td>
<td>Ofinspiration</td>
</tr>
</tbody>
</table>
</div>
</body>

</html>

关于javascript - 在数据表的渲染列中使用 ng-click,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46598250/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com