我正在使用angular-datatables
v0.5.x,我想加载本地JSON对象。根据我的研究,我知道我必须使用promise。从我的console.log
我可以看到,deferred.promise
填充了json数据。所以我认为它被正确地返回到DTOptionsBuilder.fromFnPromise()
。但是,数据表中没有显示任何数据。任何帮助将非常感激! HTML:使用promise和json对象的角度数据表不显示数据
<table datatable="ng" dt-options="dtOptions" dt-columns="dtColumns" dt-instance="dtInstance" class="row-border stripe compact hover">
</table>
AngularJS控制器:
var getTableData = function(jsonObj) {
console.log('get table data function');
var deferred = $q.defer();
deferred.resolve(jsonObj);
console.log(deferred.promise);
return deferred.promise;
};
$scope.dtOptions = DTOptionsBuilder.fromFnPromise(getTableData(jsonObj))
.withPaginationType('full_numbers');
$scope.dtColumns = [
DTColumnBuilder.newColumn('col1').withTitle('Column 1'),
DTColumnBuilder.newColumn('col2').withTitle('Column 2'),
DTColumnBuilder.newColumn('col3').withTitle('Column 3'),
DTColumnBuilder.newColumn('col4').withTitle('Column 4')
];
$scope.dtInstance = {};
JSON对象:
[{
"col1": "Column 1",
"col2": "Column 2",
"col3": "Column 3",
"col4": "Column 4"
}]
我没有看到任何'$ scope.dtOptionsTransactionsByPOS',非此非彼'$ scope.dtColumnsTransactionsByPOS'。即使dtinstance是不正确的,你将未定义的值分配给你的数据表,因此它不能以任何方式工作。 – briosheje
很抱歉,我改了这个例子的名字。那些应该是dtOptions,dtColumns,dtInstance。我会编辑它。 –