我将Angular Datatable与ng-repeat结合使用,可以对所有列进行排序。排序后,我希望更改范围变量。可以实现吗?
下面是一个简单的示例:在我的情况下,我正在使用JSON
个对象的数组
$scope.names = ['XYZ', 'DEF', 'ABC', 'IJK'];
对名称字段应用数据表排序后,应将名称字段的值更改为以下内容:
$scope.names = ['ABC', 'DEF', 'IJK', 'XYZ'];
答案 0 :(得分:0)
尝试通过过滤器订购。例如,
ng-repeat="[{doc: 'bbb'}, {doc: 'aaa'}, {doc: 'ccc'}] | orderBy:'doc'"
将导致[{doc: 'aaa'}, {doc: 'bbb'}, {doc: 'ccc'}]
在您的情况下,您使用字符串而不是数组中的对象,因此我想您可以编写| orderBy
答案 1 :(得分:0)
下面的代码正在工作...感谢@davidkonrad关于dtInstance的提示
var sortedTableArray = [];
var sortedJSON = []
DTInstances.getList().then(function(dtInstances) {
sortedTableArray.push(dtInstances.viewTable.DataTable.context[0].aiDisplay)
sortedJSON = _.sortBy(unsortedList, function(obj){
return _.indexOf(_.toArray(sortedTableArray[0]), obj.id);
});