加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

angularjs – 在多重数组的ng-repeat上使用orderBy

发布时间:2020-12-17 06:50:57 所属栏目:安全 来源:网络整理
导读:我有一个动态数据模型通过websocket进入,看起来像这样: var results = [ [ {name:'A'},{price: 0.00} ],[ {name:'C'},] 我正在使用我的ng-repeat如下: ng-repeat="result in results" 每当我需要访问结果数组中的一个数组时,我会: result[0].name 我遇到
我有一个动态数据模型通过websocket进入,看起来像这样:

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

我正在使用我的ng-repeat如下:

ng-repeat="result in results"

每当我需要访问结果数组中的一个数组时,我会:

result[0].name

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

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

也许这是对Angular如何工作的基本误解,但我不明白为什么这不起作用.这是不正确的语法,还是由于我的数据模型是动态的?我应该设置$scope.$apply somewhere?

我尝试过引号,并且我已经尝试在最初解析数据的函数中设置谓词,将结果设置为result.name的每个实例,但这也不起作用.

很感谢任何形式的帮助.

解决方法

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

这样就可以了:

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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读