【问题标题】:Error 'orderBy' when updating to Angular 1.5.3更新到 Angular 1.5.3 时出现错误“orderBy”
【发布时间】:2016-07-26 17:17:00
【问题描述】:

我在我的项目中更新了 Angular,从 1.4.9 到 1.5.3。在其中一个页面上,我收到了以下错误消息:

'Error: orderBy:notarray Value is not array-like', 'Expected array but received: 0'

这是模板:

<tr ng-repeat="targeting in vm.TargetingsAudience track by $index  | orderBy:orderByName">
                    <td>
                        {{targeting.Name}}
                    </td>
                    <td class="au_content_descr">
                        <p ng-repeat="val in targeting.Values track by $index  | orderBy:orderByName" class="targeting-value">{{val}}</p>
                    </td>
                    <td class="au_ico_2">
                        <a class="au_del au_fast_ico" ng-click="vm.removeTargeting(targeting)"><i class="glyphicon glyphicon-remove"></i></a>
                        <a class="au_edit au_fast_ico" ng-click="vm.editTargeting(targeting)"><i class="glyphicon glyphicon-pencil"></i></a>
                    </td>
                </tr>

vm.TargetingsAudience - 是一个对象数组:

[{Name: "Гео", TargetingCategory: "Audience", TypeId:"Location", Values: [0: "Россия", 1: "Москва", 2: "Московская область"]}]

【问题讨论】:

    标签: javascript angularjs angularjs-orderby


    【解决方案1】:

    这可能与角度 1.5 的重大变化有关

    过滤器(orderBy)

    由于2a85a634,传递了一个非数组类型的值(未定义的除外 或 null) 通过 orderBy 过滤器将引发错误。之前, 输入返回不变,这可能导致难以发现 错误并且与其他过滤器(例如过滤器)不一致。对象 考虑类数组包括:数组、数组子类、字符串、 NodeLists、jqLit​​e/jQuery 集合

    尝试使用AngularJS toArray Filter

    编辑:

    因为您对升级应用程序感到难过,所以我认为它以前可以正常工作。但要使其正常工作,我认为您必须切换 track by 和 order by 语句

    注意:track by 必须始终是最后一个表达式:

    <tr ng-repeat="targeting in vm.TargetingsAudience | orderBy:orderByName track by $index  ">
    
    <p ng-repeat="val in targeting.Values | orderBy:orderByName  track by $index  " class="targeting-value">{{val}}</p>
    

    【讨论】:

    • 我遇到了同样的错误。问题确实是track by| orderBy 之前。将track by 移到末尾可以修复它。
    【解决方案2】:

    orderBy:orderByName 更改为orderBy:'Name'

    【讨论】:

      猜你喜欢
      • 2022-11-18
      • 1970-01-01
      • 2016-07-24
      • 2020-06-16
      • 2021-04-19
      • 2018-07-07
      • 2020-08-31
      • 2019-04-20
      • 1970-01-01
      相关资源
      最近更新 更多