[英]Angular 2 Access value from map using known key inside template
如果我知道密钥并像map[key]
一样获取它并尝试myMap.get(key)
,如何从 map 中获取价值。
可能与使用 *ngFor和https://stackoverflow.com/a/45233924/1225526的对象的访问键和值重复
但是我的场景有一个小变化,我知道关键,我有这样的地图:
priority: Map<number, string> = new Map<number, string>();
ngOnInit() {
this.priority.set(1, Packages.PRIORITY_TYPES.highest);
this.priority.set(2, Packages.PRIORITY_TYPES.high);
this.priority.set(3, Packages.PRIORITY_TYPES.medium);
this.priority.set(4, Packages.PRIORITY_TYPES.low);
this.priority.set(5, Packages.PRIORITY_TYPES.info);
}
我正在尝试在我的模板中获取值,例如{{priority[item.priority]}}
这里item.priority
具有键值
<span [ngClass]="'baseline-text-'+ priority.get(item.priority)">
{{priority[item.priority]}}</span> <-- looks like wrong syntax i am not getting the value in my html
任何帮助都会很棒。
与您在跨度课程中获得它的方式相同,您必须这样做:
{{ priority.get(item.priority) }}
写一个这样的管道:
import {Pipe, PipeTransform} from '@angular/core';
@Pipe({
name: 'mapValue'
})
export class MapValuePipe implements PipeTransform{
transform<K,V>(map: Map<K,V>,key: K): V {
return map.get(key);
}
}
如果您想在 tempate 中获取键的值:
{{aMap |mapValue:'a key'}}
如果你想使用 ngFor 来迭代键或值,你可以写一个像上面这样的管道。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.