我的服务返回JSON中的数据,类似
[
{
"txtUserRole": "FinAsst"
},
{
"txtUserRole": "CSG"
},
{
"txtUserRole": "PA"
},
{
"txtUserRole": "ARTEAM"
}
]
现在,我想将所有这些角色添加到字符串数组中。所以我写了一个代码
ngOnInit(): void {
this.generic.getUserRoles().toPromise().then(
(jsonData) => {
jsonData.forEach(element => {
**// console.log(element['txtUserRole']);**
this.roles.push(element['txtUserRole']);
});
}
);
}
当我用console.log(element'txtUserRole');登录的时候
我可以在控制台中看到下面的结果
FinAsst
CSG
PA
ARTEAM
但是,当在HTML中使用插值时,不会显示任何内容。
{{roles}}
原因是什么?什么代码需要更改?
发布于 2020-06-01 08:55:03
我假定getUserRoles()
函数返回一个可观测的。在这种情况下,可以使用数组map
方法提取值。
控制器
ngOnInit(): void {
this.generic.getUserRoles().subscribe(
jsonData => {
this.roles = jsonData.map(item => item.txtUserRole)
}
);
}
并在模板中使用json
管道或*ngFor
指令来呈现数据。
<span> {{ roles | json }} </span>
或
<span *ngFor="let role of roles">
{{ role }}
</span>
发布于 2020-06-01 08:52:42
在html中,需要使用一个循环来显示数据:
<div *ngFor="let role of roles">{{ role }}</div>
在调试的情况下:
{{ roles | json }}
https://stackoverflow.com/questions/62136912
复制