问题标签 [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 回答
20039 浏览

angularjs - Angularjs - 在控制器范围内使用 orderby 过滤器

我有一个对象数组,即过滤和分页,现在我想按不同的对象属性对列表项进行排序。

我尝试了orderBy如下过滤器:

这似乎工作正常,单击Title链接,根据当前状态按字母顺序或按字母顺序对行进行排序。

但这里的问题是只有pagedItems被排序,这是有道理的,因为我们将orderBy过滤器应用于pagedItems. 我想要实现的是在应用过滤器时订购要订购的整套项目(不仅仅是当前分页的项目)。

为了实现这一点,我想我会在控制器范围内使用一种方法。所以我将上面的内容更改为:

该方法有效并更改了顺序,但由于未触发代码sortItems,因此视图中的项目不会更新。$watch我假设它可能没有被改变,因为其中的数据$scope.filtered没有被改变,只是索引被改变了。所以我在数组末尾添加了一个空元素:

现在,一切都按预期工作,但我不能在数组中保留一个空对象,因为它会影响正在显示的项目、计数和数据。所以我想我会添加和删除一个空项目。所以将上面的内容更改为:

但是猜猜$watch代码不会再次被触发。

问题

我的问题是是否$watch根据数组的长度查找数组的变化?如果是,那么实现我想要实现的目标的最佳方法是什么。任何帮助,将不胜感激。

0 投票
2 回答
258 浏览

angularjs - AngularJS 中的 orderBy 订单号

我有一个包含对象数组的 JSON 提要。每个数组都有一个名为“状态”的字段,其中包含以下值 -是、否、不是现在、从不 我想为它分配一个订单号

所以

现在,每当我对包含此状态的表进行排序时。它必须按 orderNo 排序。状态,而不是按字母顺序。

我不需要完整的答案,只需指向正确的方向就足够了。

0 投票
3 回答
12181 浏览

angularjs - Angular.js 中的日期未正确排序

我对 Angular.js 比较陌生,并且在日期排序方面遇到了问题。我在网上搜索了类似的问题,但没有发现任何具有相同风格的问题。

情况如下:

我从数据库中获取了一个数据集(我想在列标题可排序表中显示),其中每条记录都包含一个格式化为字符串的日期:

此外,我得到了一组列标题:

使用 ng-repeat 指令创建列标题(没有问题):

其中控制器中的sortBy函数如下:

此外,使用嵌套的 ng-repeat 指令在表中创建数据行(跨每列):

问题是日期排序不正确。当我颠倒顺序时,列表会翻转,但错误排序仍然存在。我尝试过以不同方式格式化日期字符串,以及调用 new Date(creation_date),但均无济于事。

小提琴表现出类似的症状

有没有其他人遇到过这个问题?(此外,我应该提到我正在使用分页器作为数据行的辅助过滤器,但即使将其排除在外,行为仍然存在)

0 投票
1 回答
1629 浏览

javascript - 如何为 ng-repeat orderBy 创建回调?

正在寻找一种方法让 AngularJS 的 ng-repeat orderBy 过滤器在完成渲染后进行回调......

标记:

JS:

JSfiddle

如您所见.. 一旦 orderBy 过滤器完成执行并更改表行的顺序,我希望看到类似 $scope.sortRenderFinished() 的内容。

任何帮助将非常感激!:-)

0 投票
3 回答
4219 浏览

javascript - AngularJS orderBy 函数没有排序

我正在尝试使用自定义 orderBy 函数。最初,我希望数据按添加到的顺序显示$scope.rows,并且只有在单击列标题后才应按特定属性排序。这是我的小提琴:

http://jsfiddle.net/S8M4c/

这是我的看法:

这是我的控制器:

如果$scope.orderBy未设置并且我想按$scope.rows原始顺序返回,我应该返回什么$scope.mySort?我不能return row.object.id,因为不能保证按 ID 顺序添加行。在 Chrome 32 上按原样运行我的代码,出现的第一行的 ID 为 20,即中间行。

0 投票
2 回答
3731 浏览

javascript - AngularJS 1.2 中的随机 orderBy 返回“infdig”错误

在这个问题中使用随机orderBy排序技术在 AngularJS 1.1 中效果很好。

但是,在 1.2 中,它将infdig错误放入控制台并需要更长的时间才能返回排序结果:http: //jsfiddle.net/mblase75/jVs27/

控制台中的错误如下所示:

的文档orderBy没有使用函数表达式的示例,只有字符串表达式。有什么变化,还是这是一个错误?

0 投票
1 回答
1567 浏览

javascript - AngularJS orderBy 不是数字

尽量减少代码(避免编写排序函数)。我有一个可排序的简单数据表。

此示例中的问题是“分数”没有按数字排序。用户“Julie”的得分最低为“9.12”,但在排序时,它似乎是按词汇排序的。

该示例是orderby 上的角度文档中使用的示例的修改版本

这是代码片段和相关的 plunker。

http://plnkr.co/edit/Ytpj3SUgtLKQvQvB4Yhb

0 投票
1 回答
1173 浏览

javascript - 当分隔符从 ng: 更改为 ng- 时,Angular-JS 表格排序不起作用

我创建了一个角度应用程序,用于根据 ascii 值对 html 表进行排序。该应用程序运行良好,但问题是当我将分隔符从“ng:”更改为“ng-”时,排序不起作用。如果这是由于其他原因造成的,请原谅我......因为我是 Angular js 的新手

谁能告诉我一些解决方案

带有“ng-”分隔符的角码工作演示) - 排序不工作

0 投票
2 回答
2784 浏览

angularjs - 如何使用 $filter('orderBy') 过滤布尔值

我有一个员工列表,并且有一个名为 mobile 的字段,其值为 true 或 false。我希望能够$filter('orderBy')使用 angularJS 在这个“移动”字段上做一个。例如,我希望能够过滤员工列表,其中所有“移动”字段设置true为显示在列表顶部的员工。

我不想在ng-repeat. 出于各种原因,我想在我的代码中执行此操作。无论如何,我有以下代码,但是将“移动”字段设置为的员工并true没有像我想要的那样出现在列表的顶部。你能告诉我如何使用$filter('orderBy')方法来实现这个吗?

这是代码:

0 投票
2 回答
4086 浏览

angularjs - 当属性键有空格时,angularjs ngRepeat orderBy

我得到一些 JSON 格式的数据,其中一些键中有空格:

这发生在某些时候:

然后ng-repeat用于显示它,排序:

这不起作用(我得到一个例外)(PlainKey因为没有空格所以有效)。

我还尝试将值放入'

这似乎改变了顺序,但不正确。

我错过了什么?

谢谢!