Angular 2:如何在将json提要提供给模板之前修改它
从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" } 但对于模板,我想动态插入一个额外字段: {
{
"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
函数