【发布时间】:2014-12-19 06:21:46
【问题描述】:
我对用ng-repeat 和ng-if 分隔的逗号有疑问。
我想让结果以逗号分隔,但最后一项也包括comma。
我的期望是: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是和查找表join,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
【问题讨论】:
标签: json angularjs angularjs-ng-repeat