首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >打字词典

问打字词典
EN

Stack Overflow用户
提问于 2022-04-18 10:49:40
回答 1查看 110关注 0票数 0

我的model.ts里有一个字典列表

代码语言:javascript
复制
export interface MyDictionaries {
  a: Dictionary[];
  b: Dictionary[];
  c: Dictionary[];
  d: Dictionary[];
  e: Dictionary[];
  f: Dictionary[];
  g: Dictionary[];
}

在我的.html文件中,我有项代码,并希望使用此函数获取项名。

html

代码语言:javascript
复制
 {{ this.getNames("a",item.id) }}

ts

代码语言:javascript
复制
 public getNames(dictionaryName: string, code: string) {    
    return this.dictionary.MyDictionaries.a.find(element => element.code == code).name ;  }

它可以工作,但我不希望dictionaryName是静态的,我想传递它就像

代码语言:javascript
复制
public getNames(dictionaryName: string, code: string) { 
     return this.dictionary.MyDictionaries.{{**here I want dictionaryName**}}.find(element => element.code == code).name ;  }

怎么改呢?

EN

回答 1

Stack Overflow用户

发布于 2022-04-18 11:27:01

要动态获取对象,可以使用this.dictionary.MyDictionaries[dictionaryName]。

此外,打字本需要知道dictionaryName实际上是MyDictionaries中的字典。为此,将其类型从string更改为keyof MyDictionaries。

代码语言:javascript
复制
public getNames(dictionaryName: keyof MyDictionaries, code: string) {    
    return this.dictionary.MyDictionaries[dictionaryName].find(element => element.code == code).name ;
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71910823

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档