gpt4 book ai didi

json - AngularJS JSON 格式以逗号分隔

转载 作者:行者123 更新时间:2023-12-01 22:23:27 25 4
gpt4 key购买 nike

我对用 ng-repeatng-if 分隔的逗号有疑问。

我想让结果以逗号分隔,但最后一项还包含逗号

我的期望是:AAA、CCC、EEE

但输出如下:AAA、CCC、EEE、

ng-repeat block 如下:

<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

最佳答案

您的实际 $last (FFF) 未渲染,因为它具有 HasChecked: false,因此您看到的最后一个逗号 "," 是渲染的EEE。

要实现您想要的效果,您需要首先过滤 HasChecked: false,以便 $last 应用于过滤后的数组:

<span ng-repeat="policy in policiesInfo | filter: {HasChecked: true, ProviderId: provider.ProviderId}">
{{policy.PolicyName}}<span ng-if="!$last">,</span>
</span>

plunker

关于json - AngularJS JSON 格式以逗号分隔,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27560728/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com