Angular 个数据表 Ajax 个来源
Angular dataTables with Ajax Source
我正在尝试将数据从 ajax 源加载到 angular 数据table,但它甚至没有触发 ajax 调用。
var analyzer=angular.module('analyzer', ['datatables']);
analyzer.controller('WithAjaxCtrl', WithAjaxCtrl);
function WithAjaxCtrl(DTOptionsBuilder, DTColumnBuilder) {
var vm = this;
$scope.dtOptions = DTOptionsBuilder.fromSource('/analyzer/List')
$scope.dtColumns = [
DTColumnBuilder.newColumn('BuildName').withTitle('Name'),
DTColumnBuilder.newColumn('Total').withTitle('Total'),
DTColumnBuilder.newColumn('Passed').withTitle('Passed'),
DTColumnBuilder.newColumn('Failed').withTitle('Failed')
];
}
这是 table-
的 html 代码
<div ng-controller="WithAjaxCtrl">
<table datatable="" dt-options="dtOptions" dt-columns="dtColumns" class="row-border hover"></table>
</div>
来自 ajax 源的数据采用 -
形式
{"responseCode":0,"responseData":[{"Name":"Rob","Total":6273,"Passed":5874,"Failed":399}]}
所以我必须定义 datasrc 吗?
是的,您需要指定 dataSrc
,因为您的行包含在 responseData
中,而不是默认或预期的 data
属性。在 angular dataTables 中有一个名为 setter 的选项 withDataProp()
:
$scope.dtOptions = DTOptionsBuilder.fromSource('/analyzer/List')
.withDataProp('responseData')
我正在尝试将数据从 ajax 源加载到 angular 数据table,但它甚至没有触发 ajax 调用。
var analyzer=angular.module('analyzer', ['datatables']);
analyzer.controller('WithAjaxCtrl', WithAjaxCtrl);
function WithAjaxCtrl(DTOptionsBuilder, DTColumnBuilder) {
var vm = this;
$scope.dtOptions = DTOptionsBuilder.fromSource('/analyzer/List')
$scope.dtColumns = [
DTColumnBuilder.newColumn('BuildName').withTitle('Name'),
DTColumnBuilder.newColumn('Total').withTitle('Total'),
DTColumnBuilder.newColumn('Passed').withTitle('Passed'),
DTColumnBuilder.newColumn('Failed').withTitle('Failed')
];
}
这是 table-
的 html 代码<div ng-controller="WithAjaxCtrl">
<table datatable="" dt-options="dtOptions" dt-columns="dtColumns" class="row-border hover"></table>
</div>
来自 ajax 源的数据采用 -
形式{"responseCode":0,"responseData":[{"Name":"Rob","Total":6273,"Passed":5874,"Failed":399}]}
所以我必须定义 datasrc 吗?
是的,您需要指定 dataSrc
,因为您的行包含在 responseData
中,而不是默认或预期的 data
属性。在 angular dataTables 中有一个名为 setter 的选项 withDataProp()
:
$scope.dtOptions = DTOptionsBuilder.fromSource('/analyzer/List')
.withDataProp('responseData')