シンプルなng-repeat
を使用して国のリストを生成しています。各リスト内には、展開および折りたたみ可能な非表示の行/ divがあります。
私が直面している問題は、アプリケーションにAngularを導入する前に、要素のIDを手動でハードコーディングしたことです。たとえば:
<li data-show="#country1">
{{country.name}} has population of {{country.population}}
<div id="country1">
<p>Expand/collapse content
</div>
</li>
<li data-show="#country2">
{{country.name}} has population of {{country.population}}
<div id="country2">
<p>Expand/collapse content
</div>
</li>
<li data-show="#country3">
{{country.name}} has population of {{country.population}}
<div id="country3">
<p>Expand/collapse content
</div>
</li>
<li data-show="#country4">
{{country.name}} has population of {{country.population}}
<div id="country4">
<p>Expand/collapse content
</div>
</li>
ng-repeat
:を使用した新しいコード
<li ng-repeat="country in countries" data-show="????">
{{country.name}} has population of {{country.population}}
<div id="???">
<p>Expand/collapse content
</div>
</li>
ng-repeat
で動的/増分IDを割り当てるにはどうすればよいですか?
$index
を使用できます https://docs.angularjs.org/api/ng/directive/ngRepeat
<li ng-repeat="country in countries" data-show="????">
{{country.name}} has population of {{country.population}}
<div id="country-{{$index}}">
<p>Expand/collapse content
</div>
</li>
{{$index+1}}
は、ページ番号のページごとに1〜5を表示します。ページ番号のページごとにシリアル番号を変更するには、{{$index+curPage*5+1}}
、curPageはページネーションの現在のページです。