Angular 2:如何在将json提要提供给模板之前修改它

Angular 2:如何在将json提要提供给模板之前修改它,json,angular,Json,Angular,从json中我得到了以下信息: { "name": "Leonardo", "weapon": "sword" }, { "name": "Donatello", "weapon": "stick" }, { "name": "Michelangelo", "weapon": "nunchucks" }, { "name": "Raphael", "weapon": "sai" } 但对于模板,我想动态插入一个额外字段: {

从json中我得到了以下信息:

{
    "name": "Leonardo",
    "weapon": "sword"
},
{
    "name": "Donatello",
    "weapon": "stick"
},
{
    "name": "Michelangelo",
    "weapon": "nunchucks"
},
{
    "name": "Raphael",
    "weapon": "sai"
}
但对于模板,我想动态插入一个额外字段:

{
    "name": "Leonardo",
    "weapon": "sword"
    "is_leader": "true"
},
{
    "name": "Donatello",
    "weapon": "stick"
    "is_leader": "false"
},
{
    "name": "Michelangelo",
    "weapon": "nunchucks"
    "is_leader": "false"
},
{
    "name": "Raphael",
    "weapon": "sai"
    "is_leader": "false"
}
但我甚至不能让组件返回可观察对象(表示它未定义,但在模板中呈现ok)。到目前为止,我在我的组件中有这个

constructor(private dataService: DataService) {
    this.dataSubscription = this.dataService.getTestData().subscribe(res => this.allData = res);
}

您应该从
.map()

以下是您如何实现当前给定代码的逻辑:

.subscribe(res => {
    this.allData = res.map(e => {
        e['is_leader'] = true; // as per your rule;
        return e;
    });
});

您应该从
.map()

以下是您如何实现当前给定代码的逻辑:

.subscribe(res => {
    this.allData = res.map(e => {
        e['is_leader'] = true; // as per your rule;
        return e;
    });
});

使用Angular 4.3+附带的
HttpClient
,您可以使用拦截器(
HttpIntercept
)来拦截、过滤和/或修改传入的JSON提要。谷歌搜索显示了如何设置拦截器并使用它们,例如。

使用Angular 4.3+附带的
HttpClient
,您可以使用拦截器(
HttpIntercept
)拦截、过滤和/或修改传入的JSON提要。谷歌搜索显示了如何设置拦截器并使用它们,例如。

这是一个开放的json对象还是json对象数组,如果是数组,那么只需在其中循环并添加您的属性这里的挑战是什么?显示
getTestData
函数这是一个开放的json对象还是json对象数组,如果它是一个数组,那么只需在其中循环并添加属性。这里的挑战是什么?显示
getTestData
函数