2016-04-06 25 views
3
için güncelleştirirken 'orderBy' hatası

Projemdeki açığı güncelleştirdim, 1.4.9'dan 1.5.3'e. Ve sayfalardan birinde bu hata mesajını alıyorum: BuradaAngular 1.5.3

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

şablon:

<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 - edilmektedir Nesneler bir Array:

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

cevap

1

orderBy:orderByName için orderBy:'Name' değiştir

6

Bu yoluyla (tanımlanmamış veya boş hariç) olmayan bir dizi benzeri bir değerin aktarılması, açısal 1,5

Filtreler (orderBy)

nedeniyle 2a85a634 için bir kırılma değişikliği ile ilişkili olabilir orderBy filtresi bir hata atacaktır. Önceden, girdisi değişmeden döndü, bu da zor noktaya hatalarına neden olabilir ve diğer filtrelerle (ör., Filtre) tutarlı değildi. Nesneleri dizi benzeri dahil kabul: diziler, dizi alt sınıfları, dizeleri, nodelists, jqLite/jQuery koleksiyonları

AngularJS toArray Filter

DÜZENLEME kullanmayı deneyin: Üzgün ​​Uygulamayı yükseltilmiş Çünkü

Daha önce çalıştığını farz ettim. hep olmalı geçen ifadeye göre pist: Ama çalışma yapmak için sana ifadeleri

Not tarafından tarafından takip ve sıralamasını değiştirmek zorunda düşünüyorum ben aynı hataya koştu

<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

. Sorun aslında '' öncekinden '' olan parçadır '' | orderBy'. "Parçayı" ile sonuna kadar hareket ettirmek, onu düzeltir. – Zach