我试图在Angular模板中查看JavaScript Map类型,即使我使用一些默认值初始化它,值也总是为空。
角分量
export class AppComponent implements OnInit {
public myJsMap:Map<string,string> = new Map<string,string>([['hello','hello']]);
ngOnInit(): void {
this.myJsMap.set('Hello2', 'hellow2')
}
}
字符串
Angular模板
My Template Value : {{myJsMap | json}}
型
尝试在组件上控制台记录Map值,并在组件端正确打印,但尝试在模板端查看相同值时,始终显示空对象。我们需要在模板端做什么来查看这个值?
结果为空浏览器上的对象:
的数据
2条答案
按热度按时间v8wbuo2f1#
您不能对ES6 Map使用Angular
json
管道。如果您检查
json
管道source,您会发现它使用了JSON.stringify()
方法,这将导致任何ES6 Map的{}
字符串
您可以使用
NgFor
指令和keyvalue
管道迭代组件HTML文件中的Map条目,如下所示型
或建立自己的管道,可以转换它
型
并在组件HTML文件中使用它,如下所示
型
ws51t4hk2#
字符串