在具有多维数组的ng-repeat上使用orderBy

凯尔G

我有一个通过websocket传入的动态数据模型,如下所示:

var results = [
    [
        {name:'A'},
        {price: 0.00}
    ],
    [
        {name:'C'},
        {price: 0.00}
    ],
]

我使用ng-repeat如下:

ng-repeat="result in results"

每当我需要访问结果数组中的数组之一时,我就会执行以下操作:

result[0].name

我遇到的问题是ngRepeat上的orderBy过滤器似乎不允许我这样做:

ng-repeat="result in results | orderBy: result[0].name

也许这是对Angular的工作原理的基本误解,但我不明白为什么它不起作用。它是不正确的语法,还是由于我的数据模型是动态的?我是否应该在某个地方设置$ scope。$ app?

我尝试使用引号,并且尝试在函数中设置一个谓词,该谓词最初用于解析数据,将谓词设置为遍历传递给result.name的每个实例,但这也不起作用。

很感谢任何形式的帮助。

Himmet Avsar

这个问题真的很有趣。由于orderBy将使用当前对象,因此您必须相对分配订单字符串。

这将达到目的:

ng-repeat="result in results | orderBy: 'this[0].name'

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章