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