繁体   English   中英

将字符串数组的动态值分配给 typescript 中 object 的属性

[英]Assigning dynamically values of string array to properties of an object in typescript

假设名为searchBox的组件接收两个输入: @Input() titles: string[]@Input() model: Object标题值的数量等于Z20F35E630DAF44DBFA4C3FZD58F的数量。 searchBox生成标题长度的输入框,并从用户那里获取搜索主题并将它们推送到名为titlesValues的字符串数组中。 因此, searchBox应该将titlesValues 的值分配给model点对点属性,并通过@Output resultModel: Object 我尝试动态访问每个model属性以进行分配,因此我在下面对这个场景进行了编码:

let i =0;
  Object.keys(this.model).forEach((key) => {
     this.model[key] = this.titlesValues[i];
   });

虽然我测试了很多语句和替代代码以获得期望的结果,但它得到以下错误:

元素隐式具有 'any' 类型,因为 'string' 类型的表达式不能用于索引类型 'Object'

我该如何实现这个场景? 此致。

尝试改变这一点:

@Input() titles: any[]

要克服该错误,您可以将model显式定义为any类型:

@Input() model: any;

或者

model定义一个新接口并将其用作:

interface Model {
    [index: string]: string;
}

@Input() model: Model;

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM