Angularjs 角度数据表: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

我正在使用Angular DataTables(jQuery DataTables)库,虽然我显然可以在列上设置sName值:

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
的列中获取数据,如下所示:


有关的更多信息。

我在上面添加了一个说明。添加名称选项似乎没有任何效果。看起来这个解决方案也可以用于更定制的任务,我正试图让它在前端使用默认的排序功能(调整后端以适应)。