问题标签 [angularjs-orderby]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
3846 浏览

angularjs - 为什么是filter和orderBy的优势呢?

看来 AngularJS 确实非常重视在视图中使用过滤器和其他 ng 指令来过滤和排序数据,而不是在模型中手动执行。有什么理由吗,即它更快,缓存还是什么?

例如,我想显示一个排序列表,但我也想访问排序列表以用于与视图无关的其他目的。如果列表直接在模型中排序,这很容易,所以我试图了解这样做是否有缺点。

谢谢!

0 投票
1 回答
793 浏览

angularjs - Angular JS 跳过 OrderBy 值

我有以下代码

我的目标是每当我单击表头时,必须根据特定谓词和反向对相应的列进行排序。这正在完美地发生。但是我有一个场景,当我点击一个外部对象时,我在表格中的年龄值在这里发生了变化,因此表格排序顺序受到干扰。但我不想被打扰。我如何跳过表格以不服从对其他操作的排序,并且仅在单击表格列标题时才拥有它?谁能帮我这个?

0 投票
1 回答
10389 浏览

javascript - AngularJS Paging orderBy 只影响显示的页面

谁能指出我正确的方向,以找出一种方法来修复分页和 orderBy 在 Angular 中协同工作的方式?

目前,我可以 orderBy 并对 data[] 的结果进行分页,但 orderBy 过滤器仅单独影响每个页面。

例如,如果我按 ID 以相反的顺序排序,第 1 页将列出 10-1,第 2 页将列出 15-11,而不是从 15 开始,到第二页结束时到达 1。

我在这里有一个基本的小提琴http://jsfiddle.net/ZbMsR/

这是我的控制器:

这是我的观点的相关部分

0 投票
6 回答
29380 浏览

javascript - Orderby 不能在 ng-repeat 上使用 dict 语法

我正在尝试将 ng-repeat 与字典样式语法一起使用,并将顺序应用于键值。

(key, value) in something | orderBy:'key'

看来 OrderBy 没有按预期工作

这里的例子 http://jsfiddle.net/mhXuW/

0 投票
3 回答
52254 浏览

angularjs - 如何在 AngularJS 的 ng-repeat 中对对象数据源进行排序?

假设我有以下用户:

我想<select>使用以下选项创建一个:

换句话说,用户应该按名称排序。

我使用语法尝试了以下操作(key, value) in expression,但它不起作用:

活的例子在这里。

我错过了什么?

请不要建议与ng-options我使用ui-select2的不兼容的解决方案ng-options

0 投票
8 回答
8605 浏览

angularjs - 在编辑列表时禁用 AngularJS 中的 orderBy

在我的输入框列表中应用后orderBy,如果我编辑任何字段,它会立即开始排序并且我失去焦点。我试图挖掘角度代码,发现他们在 orderBy 的属性上应用了 $watch 之类的东西,因此每当值更改时,它都会对列表进行排序。有没有办法在编辑时禁用 orderBy?我不想让 orderBy 在编辑文本时对数据进行排序。任何帮助将不胜感激

这是我的笨蛋

注意:我想使用 orderBy 并且不需要任何替代方法,例如从任何控制器本身对列表进行排序。我只希望 orderBy 在页面加载时对列表进行一次排序,然后保持不变。

0 投票
1 回答
17152 浏览

angularjs - AngularJS:使用 OrderBy 的自定义排序功能

我正在尝试使用http://docs.angularjs.org/api/ng.filter:orderBy提供的文档定义我自己的排序函数。

在解释编写的代码之前,我还将提及我所期望的行为。
我有一个包含表头(th)和表数据(td)的表。当用户点击表格中的一列时(按列,我的意思是th),表格数据必须根据该列中的值进行排序。

如果用户再次单击同一列,则如果先前的排序条件分别为降序/升序,则排序将更改为升序/降序。
用户可以使用多列进行排序。选择的第一列是第一优先级。如果第一列值相同,则使用选择用于排序的第二列。

现在是代码。可以在这里找到:http: //jsfiddle.net/xkjmv/

问题是customSortFunction按预期返回数组,但排序不起作用 - 当用户单击列标题时,排序应该是升序或降序(基本上每次单击时都会切换)。

我想返回一个字符串谓词数组,因为我将有多个列要排序,但是使用字符串谓词本身的单列排序不起作用

编辑:如果从代码中不明显,您可以检查控制台以查看自定义排序函数返回的输出。

0 投票
2 回答
2442 浏览

angularjs - In AngularJS how to get the new index of an array element after sorting?

This snippet shows my problem nicely:

JSfiddle - sorting table

Important parts:

As you can see, the index always goes from 0 to 6 even when re-sorting the array, so the highlight doesn't move with the item.

How can I get the highlight to stick to the item it's originally at?

0 投票
6 回答
40682 浏览

angularjs - orderBy后Angularjs错误的$index

我是 Angular.js 的新手,在排序数组和处理排序数据时遇到了一些问题。

我有一个包含项目的列表,并希望按“Store.storeName”对它进行排序,到目前为止它正在工作。但是在对数据进行排序后,我的删除功能不再起作用。我认为那是因为 $index 在排序后是错误的,所以错误的数据被删除了。

我该如何解决?在范围内而不是在视图中排序数据?怎么做?

以下是一些相关代码:

在视图中:

在我的控制器中,我有这个删除功能,它应该删除特定的数据:

这在视图中订购之前效果很好。如果缺少重要的东西,请让我现在。

谢谢!

0 投票
1 回答
27768 浏览

javascript - orderBy 未按预期工作:Angularjs

我的数组是 : BS。它的结构是:

BS 是一个数组。每个值都是一个带有名称字段的 JSON 对象。

我想根据名称对 BS 的所有值进行排序。我在尝试 :

我也试过:orderBy:nameorderBy:item[name]。没有任何效果。为什么这不起作用,正确的代码是什么?