按名称进行角度排序不正确

时间:2016-06-20 18:48:42

标签: angularjs ng-repeat angularjs-orderby

我不明白为什么在ng-repeat中按名称排序是不正确的。订单开始正确,但然后荷兰的订单错误:

<div class="row">
  <div ng-if="region.checked && region.countCountries > 0" ng-repeat="region in vm.selectedRegions track by region.id" class="col-xs-12 col-sm-12 col-md-12 col-lg-12 padding-left-0">
    <strong class="region-title">{{ 'locales.region.' + region.name | translate }}</strong>
    <div class="row">
      <div ng-if="($index == 0)" ng-repeat="country in region.countries track by $index" class="col-xs-6 col-sm-6 col-md-6 col-lg-6 padding-left-0">
        <div ng-if="country.selected && ($index < region.countries.length/2)" ng-repeat="country in region.countries | orderBy: 'name' track by country.id">
          <span class="fa fa-circle"></span>
          <span translate="{{ 'locales.country.' + country.isoCode | translate }}"></span>
        </div>
      </div>
      <div ng-if="($index == vm.Math.ceil(region.countries.length/2))" ng-repeat="country in region.countries track by $index" class="col-xs-6 col-sm-6 col-md-6 col-lg-6 padding-left-0">
        <div ng-if="country.selected && ($index >= region.countries.length/2)" ng-repeat="country in region.countries | orderBy: 'name' track by country.id">
          <span class="fa fa-circle"></span>
          <span translate="{{ 'locales.country.' + country.isoCode | translate }}"></span>
        </div>
      </div>
    </div>
  </div>
</div>

奥地利  比利时  保加利亚  丹麦  芬兰  法国  德国  希腊  匈牙利  爱尔兰  以色列  意大利  荷兰  挪威  波兰  葡萄牙  罗马尼亚  西班牙  瑞典  瑞士  火鸡  英国

1 个答案:

答案 0 :(得分:0)

也许“奥地利比利时保加利亚丹麦芬兰法国德国希腊匈牙利爱尔兰以色列意大利”在你的第一次重复和“荷兰挪威波兰葡萄牙罗马尼亚西班牙瑞典瑞士土耳其英国”中的第二次重复。