Angularjs 带谓词数组的角度“orderBy”筛选器问题

Angularjs 带谓词数组的角度“orderBy”筛选器问题,angularjs,angular-filters,Angularjs,Angular Filters,看起来要么是角度有序过滤器有问题,要么是我遗漏了什么 我想按多个属性排序,因此将所有属性作为字符串数组传递,前面是+或-字符串。 我有一个方法getPredicate(),它解析filterObject并创建谓词数组(在filterObject中的键)。根据filterObject中每个键的值,它在每个谓词之前加上+或-符号。 (由于对象属性是动态的,并且很可能属性名称之间包含空格,如更新日期,因此有必要将它们用括起来。) 排序似乎不准确。初始谓词看起来像[“'name'”,“-Updated

看起来要么是角度有序过滤器有问题,要么是我遗漏了什么 我想按多个属性排序,因此将所有属性作为字符串数组传递,前面是
+
-
字符串。 我有一个方法
getPredicate()
,它解析
filterObject
并创建谓词数组(在
filterObject
中的键)。根据
filterObject
中每个键的值,它在每个谓词之前加上
+
-
符号。 (由于对象属性是动态的,并且很可能属性名称之间包含空格,如
更新日期
,因此有必要将它们用
括起来。
) 排序似乎不准确。初始谓词看起来像
[“'name'”,“-Updated Date'”]


这是我提出的解决方案。

针对那些有类似问题的人

您必须在
-
+
前签名(单引号)为了使其工作,我面临一个问题,因为我试图在
-
+
后签名(单引号)所以控制台打印的数组看起来像
[“+'name'”,-'Updated Date',“-'city']
而且它工作得很好


正在工作

是否可以添加一些代码?@Anirudhadas:我添加了删除这些单引号的链接。关键是名称,而不是‘名称’。@JBNizet:它们必须在那里,以防我得到一些属性,如“Created Date”,这些属性是动态的,并且可能在属性之间有空格,这就是我要做的