Angularjs 角度数据表:sName设置不起作用
我正在使用Angular DataTables(jQuery DataTables)库,虽然我显然可以在列上设置sName值:Angularjs 角度数据表:sName设置不起作用,angularjs,datatables,jquery-datatables,Angularjs,Datatables,Jquery Datatables,我正在使用Angular DataTables(jQuery DataTables)库,虽然我显然可以在列上设置sName值: DTColumnDefBuilder.newColumnDef(0).withOption('sName', 'name') 它不会更改API请求-它仍然使用列索引(在本例中为0),这对我的API没有意义。但是,当我使用iDataSort选项时,它确实能按预期工作: DTColumnDefBuilder.newColumnDef(0).withOption('iDat
DTColumnDefBuilder.newColumnDef(0).withOption('sName', 'name')
它不会更改API请求-它仍然使用列索引(在本例中为0),这对我的API没有意义。但是,当我使用iDataSort选项时,它确实能按预期工作:
DTColumnDefBuilder.newColumnDef(0).withOption('iDataSort', 3)
…传递给我的API调用函数的参数将3作为列标识符,而不是0
澄清:问题是传递给AJAX调用的实际参数始终使用列索引。我有这个:
sitemapIndex.dtOptions = DTOptionsBuilder.newOptions().withFnServerData(function(sSource, aoData, fnCallback, oSettings){
sitemapIndex.getSitemaps(aoData);
});
…其中aoData包含用于构造我用于API的查询字符串的参数。不管sName设置如何(我认为这是应该控制的),aoData数组的顺序项始终是列的索引(不需要)
我是否缺少允许使用此选项的其他设置值?在API请求中,是否附加了
:name
例如,给定以下代码:
$scope.dtColumnDefs = [
DTColumnDefBuilder.newColumnDef(0).withOption('name', 'foo'),
DTColumnDefBuilder.newColumnDef(1).notVisible(),
DTColumnDefBuilder.newColumnDef(2).notSortable()
];
您可以从名为foo
的列中获取数据,如下所示:
有关的更多信息。我在上面添加了一个说明。添加名称选项似乎没有任何效果。看起来这个解决方案也可以用于更定制的任务,我正试图让它在前端使用默认的排序功能(调整后端以适应)。