2016-04-06 5 views
3

Ich habe Angular in meinem Projekt von 1.4.9 auf 1.5.3 aktualisiert. Und auf einer der Seiten, die ich diese Fehlermeldung bin immer:Fehler 'orderBy' beim Update auf Angular 1.5.3

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

Hier Vorlage:

<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 - ist ein Array von Objekten:

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

Antwort

1

Ändern orderBy:orderByName zu orderBy:'Name'

6

Dies könnte in Winkel 1,5

Filter (orderBy)

Aufgrund 2a85a634, Hindurchleiten eines nicht-Array-like-Wert (andere als undefiniert oder null), durch die auf eine unterbrechende Änderung zusammenhängen orderBy Filter wird einen Fehler auslösen. Zuvor wurde die Eingabe unverändert zurückgegeben, was zu schwer zu erkennenden Fehlern führen konnte und nicht mit anderen Filtern (z. B. Filter) übereinstimmte. Objekte betrachtet Array-artiges umfassen: Arrays, Array-Subklassen, Strings, Nodelisten, jqLite/jQuery Sammlungen

Versuchen AngularJS toArray Filter

EDIT:

Weil du traurig Sie die App aktualisiert Ich nahm an, dass es vorher funktioniert hat. Aber um es arbeiten ich glaube, Sie haben Spur zu wechseln, indem Sie und um durch Aussagen

Hinweis: Spur durch muss immer der letzte Ausdruck sein:

<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> 
+0

ich in den gleichen Fehler lief. Das Problem ist in der Tat die Spur vor dem '| bestellenBy'. Das Verschieben der Spur bis zum Ende behebt das Problem. – Zach