【发布时间】:2015-01-07 03:00:27
【问题描述】:
我在 Angular 上工作过很多次,现在肯定脑子有问题,但似乎无法让简单的 orderBy 正常工作。我有一个数字数组,我想在通过 ng-repeat 显示时按顺序排序。
我的数据:
$scope.data = [200,243,190];
我的标记尝试:
<div ng-repeat="split in data | orderBy">{{split}}</div>
<div ng-repeat="split in data | orderBy:split">{{split}}</div>
<div ng-repeat="split in data | orderBy:'split'">{{split}}</div>
<div ng-repeat="split in data | orderBy:['split']">{{split}}</div>
奇怪的是,即使输入一个错误的参数似乎也没有任何效果。没有错误或什么都没有!
<div ng-repeat="split in data | orderBy:errorPlease">{{split}}</div>
每一次。列表显示为“200,243,190
我有一个JSFiddle 显示我的问题。角 1.2.1
【问题讨论】:
-
'split' 是数据转发器的局部变量,不能用于试图修改数据的 orderBy。你需要的是一个过滤器,它可以对一组数字进行排序。
-
不是完全重复 - 类似的问题,但列出的解决方案不能解决我的问题。
-
确实可以,试一试。 jsfiddle.net/HB7LU/8110
-
在我上面的示例和我的 JSFiddle 中,我的第一次尝试是从另一个问题接受的答案,但这并没有解决我的问题。使用不带任何参数的“orderBy”仍将我的数组返回为“200、243、190” 您发布的 JSFiddle 链接链接到我的小提琴 - 我认为您需要单击“更新”按钮以获取指向您的小提琴的新链接。 :)
标签: angularjs angularjs-ng-repeat