У меня проблема с запятыми, разделенными ng-repeat
и ng-if
.AngularJS Запятая для формата JSON
Я хочу, чтобы результат был разделен запятой, но последний элемент также включает comma
.
Мой Expectation является: AAA, CCC, EEE
Но выход приходит как: AAA, CCC, EEE,
ng-repeat
блок, как показано ниже:
<div ng-repeat="provider in providersInfo">
<span ng-repeat="policy in policiesInfo | filter:{ProviderId : provider.ProviderId }:true">
<span ng-if="policy.HasChecked">{{ policy.PolicyName }}{{$last ? '' : ', '}}</span>
</span>
<!-- or -->
<span ng-repeat="policy in policiesInfo | filter:{ProviderId : provider.ProviderId }:true">
<span ng-if="policy.HasChecked">{{$index == 0 ? '' : ', '}}{{ policy.PolicyName }}</span>
</span>
</div>
Здесь policiesInfo это присоединиться к справочной таблице, выход от JSON
формат:
За каждый ProviderId
он будет содержат 6 подстановок записей:
policiesInfo = [
{PolicyId : 1, PolicyName: 'AAA', ProviderId: 25, HasChecked: true },
{PolicyId : 2, PolicyName: 'BBB', ProviderId: 25, HasChecked: false },
{PolicyId : 3, PolicyName: 'CCC', ProviderId: 25, HasChecked: true },
{PolicyId : 4, PolicyName: 'DDD', ProviderId: 25, HasChecked: false },
{PolicyId : 5, PolicyName: 'EEE', ProviderId: 25, HasChecked: true },
{PolicyId : 6, PolicyName: 'FFF', ProviderId: 25, HasChecked: false }
]
Здесь $last
будет считать PolicyId : 6
и $index
будет считать PolicyId : 1
Я решил проблему, добавив еще 1 фильтр, но ваш ответ мне тоже помог о фильтре ** HasChecked ** – Arulkumar
Ваше предложение работает. – Arulkumar