在" orderBy"的AngularJS文档中,"字符串"的描述财产如下(我强调):
一个Angular表达式,用于评估要按顺序排列的对象,例如' name'按名称'进行排序。 (可选)以+或 - 为前缀,以控制升序或降序排序(例如,+ name或-name)。
"反向"财产如下:
颠倒数组的顺序。
那么使用" -property"之间应该有什么区别?和"反转"?这两个都应该做同样的事吗?
对于我的测试用例,我无法反对"做任何事。我构建了一个带有三个ngRepeats的plunkr 。第一个没有任何订购,第二个订购了"反向",最后一个订购" -property"。后者做我所期望的,前者似乎没有做任何事情。
文档显然含糊不清,但我希望"反向"和" -property"做同样的事情。这里发生了什么?
答案 0 :(得分:2)
查看manual,您会发现reverse
属于boolean
类型。这表示它的值将在当前范围中查找或者是文字的。简单地插入reverse
然后将评估为undefined
(因为它可能没有在范围上定义),这是假的,因此reverse
没有效果。使用范围值或litteral(true,false)来查看它的效果。
有两种方法可以反转排序顺序是因为很难通过数据绑定技术更改+/-
,而使用反向表达式简单地引用范围变量很容易。因此通过数据绑定更改顺序(例如,更改范围变量的按钮单击,这实际上是手册页上的一个示例)。
答案 1 :(得分:1)
而不是orderBy:'lastRun':reverse
在'反向'周围加上引号:orderBy:'lastRun':'reverse'