AngularJS OrderBy 更新源数组

标签 angularjs sorting angularjs-orderby

我正在按日期使用内置的 Angular 过滤器 OrderBy 对我的项目进行排序,它在 DOM 中按预期工作,但我认为它会更新数组本身,以便我可以使用项目的新顺序。

有人知道如何实现这一目标吗?

谢谢。

附注 如果有什么改变的话,我正在使用 AngularJS 1.3.14。

最佳答案

过滤器返回数组的排序副本,因此您可以将其分配给您的范围并保存排序数组的引用。

您可以在 Controller 中注入(inject) $filter 服务,然后以如下方式以编程方式使用它:

var orderBy = $filter('orderBy');
$scope.array = orderBy(unsortedArray, expression);

有关此过滤器的更多信息,请参阅 here .

当然,如果您的排序表达式是动态的,那么每次更改时您都必须更新数组的引用,这并不总是理想的,但对于较小的数据量绝对可行。

关于AngularJS OrderBy 更新源数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37279098/

相关文章:

angularjs - 使用 NGINX 在 Ubuntu 云服务器上托管 NodeJS(Express 和 Angular)项目

javascript - 使用 bower 将 3rd 方模块安装到 yeoman 生成的 Angular 应用程序中不起作用 - 没有呈现任何内容,也没有错误

AngularJS orderby 具有数组数组和单独的键

mongodb降序升序索引

javascript - AngularJS orderBy 函数不带排序

javascript - AngularJS orderBy 不支持自定义函数

angularjs - 为什么 ng-click 处理程序被触发两次?

javascript - 无法查看 Angular 指令属性

python - 将排列应用于列表的就地方法? (与按键排序相反)

javascript - 使用 Javascript Fetch API 对异步获取的数据进行排序