我的model.ts里有一个字典列表
export interface MyDictionaries {
a: Dictionary[];
b: Dictionary[];
c: Dictionary[];
d: Dictionary[];
e: Dictionary[];
f: Dictionary[];
g: Dictionary[];
}在我的.html文件中,我有项代码,并希望使用此函数获取项名。
html
{{ this.getNames("a",item.id) }}ts
public getNames(dictionaryName: string, code: string) {
return this.dictionary.MyDictionaries.a.find(element => element.code == code).name ; }它可以工作,但我不希望dictionaryName是静态的,我想传递它就像
public getNames(dictionaryName: string, code: string) {
return this.dictionary.MyDictionaries.{{**here I want dictionaryName**}}.find(element => element.code == code).name ; }怎么改呢?
发布于 2022-04-18 11:27:01
要动态获取对象,可以使用this.dictionary.MyDictionaries[dictionaryName]。
此外,打字本需要知道dictionaryName实际上是MyDictionaries中的字典。为此,将其类型从string更改为keyof MyDictionaries。
public getNames(dictionaryName: keyof MyDictionaries, code: string) {
return this.dictionary.MyDictionaries[dictionaryName].find(element => element.code == code).name ;
}https://stackoverflow.com/questions/71910823
复制相似问题