[英]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.