簡體   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