具有基于变量的标签值的打字稿匿名对象

Posted

技术标签:

【中文标题】具有基于变量的标签值的打字稿匿名对象【英文标题】:typescript anonymous object with variable based label value 【发布时间】:2018-05-27 00:23:37 【问题描述】:

我点击了这个链接: How do I dynamically assign properties to an object in TypeScript?

但它仅展示了如何处理对象道具名称和值以及对象的单独定义。 我想知道如何使用没有先前定义的任何类型的“动态”匿名构建对象来做到这一点。 我将在下面的例子中展示它。

无法正常工作。不幸的是,它将变量名作为标签,而不是我希望的变量值。

代码如下:

var srchTxtlabel: string = '';
if (this.labelType == '1')
    srchTxtlabel = 'srchtxt';
else if (this.labelType == '2')
    srchTxtlabel = 'subject';

this.myService.emit(
    srchTxtlabel : this.val1,
    'va2Label' : this.val2
)

请帮忙...

【问题讨论】:

【参考方案1】:
let emitObj = ;
emitObj[srchTxtlabel] = this.val1;

this.AdvancedSrchEvent.emit(emitObj)

【讨论】:

非常感谢您清晰快速的回答。虽然我更喜欢这个解决方案: [srchTxtlabel] : this.val1 。但你的当然也很好用 @I.DiZahav 很高兴我能帮助你,如果你喜欢请接受答案

以上是关于具有基于变量的标签值的打字稿匿名对象的主要内容,如果未能解决你的问题,请参考以下文章

打字稿:创建具有相同键但不同值的对象

打字稿 |从对象 T 中提取具有类型 K 值的所有键名

ES5匿名函数的打字稿导入

打字稿中具有通用键的对象

具有默认值的打字稿固定数组

具有未知键的对象的打字稿类型,但只有数值?