列表分隔符角度表达式

List Separator Angular Expression

本文关键字:表达式 分隔符 列表      更新时间:2023-09-26

下面的结构中是否有一个用逗号分隔返回的JSON,这样我的结果就是blues, brews, barbecue, festival, music

我的JSON输出:

"tags": "blues brews barbecue festival music"

使用{{item.tag}} {{$last ? '' : ', '}}可以很好地处理具有以下JSON结构的ng repeat指令。然而,我的JSON并不是这样格式化的。

[{"tag":"blues"},{"tag":"brews"},{"tag":"barbecue"},{"tag":"festival"},{"tag":"music"}]

使用String.split()将字符串转换为数组:

var arr = "blues brews barbecue festival music".split(" ")
//produces ["blues", "brew", "barbecue", "festival", "music"]
"tags": arr.map(function(el) {
    return {
        name: el,
        href: myHref
    }
})
//produces [{name: "blues", href: ""}...]

只需在json对象加载后在其上执行此代码。

然后您可以将其与ng-repeat 一起使用

<ul ng-repeat={{tags}}>
    <li>{{tag}}</li>
</ul>

您可以使用split:在阵列上使用map

var data = {"tags": "blues brews barbecue festival music"};
var tags = data.tags.split(' ').map(function(tag) {
  return {tag: tag};
});
document.write(JSON.stringify(tags, null, 2));

但如果你只是显示一个字符串,不要使用repeat,只加入split:

var data = {"tags": "blues brews barbecue festival music"};
var tags = data.tags.split(' ').join(", ");
document.write(tags);