编程语言
首页 > 编程语言> > javascript – 如何划分通过ng-repeat创建的列表的单独部分?

javascript – 如何划分通过ng-repeat创建的列表的单独部分?

作者:互联网

我列出了通过ng-repeat显示的国家/地区列表:

<ul>
    <li ng-repeat="country in countries.country | filter:search:startsWith">{{ country }}</li>
</ul>

在此之前,我已经创建了一个包含所有国家/地区的排序数组:

var countriesNotSorted = ['Ukraine','Urugvai','Russia','Romania','Rome','Argentina','Britain','Indonesia','Germany','Brazil','Portugal','Polska','Uganda','Algeria','Andorra'],
    countriesArray = countriesNotSorted.sort();

此外,我有可点击的字母列表,当其中一个被点击列表变得排序.问题是:是否有可能在非常开始时将国家列表(通过Angular ng-repeat显示)分成不同的部分,因此阿尔及利亚,安道尔,阿根廷和所有在’A’开始的国家将在某些标题后出现(例如大写字母’A’)?

A:
Algeria
Argentina
Andorra

B:
Brazil
Bolgaria
Belgium

这是我的Plnkr

Thanx提前注意和时间

解决方法:

您可以简单地对字母数组进行ng重复.

<div class="container">

    <input id="q" type="text" ng-model="search " />
    <div ng-repeat="letter in alphabet.letter" ng-show="countriesFiltered.length > 0">
      <h3>{{letter}}</h3>
      <ul>
        <li ng-repeat="country in (countriesFiltered = (countries.country | filter:letter:startsWith | filter:search:startsWith))">{{ country }}</li>
      </ul>
    </div>

</div>

Plnkr

标签:javascript,angularjs,angularjs-ng-repeat,ng-repeat,filtering
来源: https://codeday.me/bug/20190824/1709496.html