2016-03-27 9 views
0

Herkese merhaba ArgularJs ile çalışıyorum. Bu sorunu düzeltmem gerekiyor, bir filtre kullandığımda, değerlerimi tabloma göstermek için matrisimi yineleyemiyorum.Bir filtre kullandığımda matrisimi nasıl yinelemiyorum

<div ng-app="app" ng-controller="ctrl"> 
    <select ng-model="selectedCity" ng-options="x as (x | cityFilter) for (x, y) in cities"> 
    </select> 
</div> 

<table> 
    <tr ng-repeat="item in selectedCity"> 
     <td>{{ item.id }}</td> 
     <td>{{ item.name }}</td> 
     <td>{{ item.price }}</td> 
    </tr> 
</table> 

ve bu benim senaryom js geçerli:

Error: ngRepeat:dupes 
Duplicate Key in Repeater 
Duplicates in a repeater are not allowed. Use 'track by' expression to specify unique keys. Repeater: item in selectedCity, Duplicate key: string:a, Duplicate value: a 

benim seçme varsayılan bir seçenek olarak kenti 02 göstermek istiyorum: Ben bu hatayı alıyorum çalıştırdığınızda

angular.module('app', []) 
.filter('cityFilter', function() { 
    return function(city) { 
     return city.replace('_', ' '); 
    } 
}) 
.controller('ctrl', function($scope) { 
    $scope.cities = { 
     city: [{ 
      id: 'c01', 
      name: 'name1', 
      price: 15 
     }, { 
      id: 'c02', 
      name: 'name2', 
      price: 18 
     }, { 
      id: 'c03', 
      name: 'name3', 
      price: 11 
     }], 
     city_02: [{ 
      id: 'cc01', 
      name: 'name11', 
      price: 10 
     }, { 
      id: 'cc02', 
      name: 'name22', 
      price: 14 
     }, { 
      id: 'cc03', 
      name: 'name33', 
      price: 11 
     }], 
     city_03: [{ 
      id: 'ccc01', 
      name: 'name111', 
      price: 19 
     }, { 
      id: 'ccc02', 
      name: 'name222', 
      price: 18 
     }, { 
      id: 'ccc03', 
      name: 'name333', 
      price: 10 
     }] 
    }; 

    $scope.selectedCity = 'city_02'; 
}); 

.

+0

https://jsfiddle.net/bgg5yfot/1/ Hiç net Yapmaya çalıştığınız ne. Hiçbir anlamı olmayan bir dizgeyi 'ng-repeat '' a geçiriyorsunuz. Lütfen tahmini sonuçları göster – charlietfl

+0

@charlietfl beklenen sonuçlar matrisimi iterat yapmak ve bir tablodaki değerini göstermek lütfen https://jsfiddle.net/bgg5yfot/ – Abderrahim

cevap

1

charlietfl $scope.selectedCity bir dizedir ve ng-repeat ile kullanılamaz işaret etmekte haklı Yardımlarınız için

sayesinde, onun bir dizi vermek gerekir.

<tr ng-repeat="item in cities[selectedCity]"> 

Güncelleme jsfiddle:

Ben ne yapmaya çalışıyoruz olduğunu düşünüyorum

+0

adresine bir göz atın – Abderrahim

İlgili konular