“反向”和“ - 属性”之间的区别与orderBy在ng重复?

时间:2014-03-14 20:12:40

标签: angularjs

在" orderBy"的AngularJS文档中,"字符串"的描述财产如下(我强调):

  

一个Angular表达式,用于评估要按顺序排列的对象,例如' name'按名称'进行排序。 (可选)以+或 - 为前缀,以控制升序或降序排序(例如,+ name或-name)。

"反向"财产如下:

  

颠倒数组的顺序。

那么使用" -property"之间应该有什么区别?和"反转"?这两个都应该做同样的事吗?

对于我的测试用例,我无法反对"做任何事。我构建了一个带有三个ngRepeats的plunkr 。第一个没有任何订购,第二个订购了"反向",最后一个订购" -property"。后者做我所期望的,前者似乎没有做任何事情。

文档显然含糊不清,但我希望"反向"和" -property"做同样的事情。这里发生了什么?

2 个答案:

答案 0 :(得分:2)

查看manual,您会发现reverse属于boolean类型。这表示它的值将在当前范围中查找或者是文字的。简单地插入reverse然后将评估为undefined(因为它可能没有在范围上定义),这是假的,因此reverse没有效果。使用范围值或litteral(true,false)来查看它的效果。

有两种方法可以反转排序顺序是因为很难通过数据绑定技术更改+/-,而使用反向表达式简单地引用范围变量很容易。因此通过数据绑定更改顺序(例如,更改范围变量的按钮单击,这实际上是手册页上的一个示例)。

答案 1 :(得分:1)

而不是orderBy:'lastRun':reverse在'反向'周围加上引号:orderBy:'lastRun':'reverse'