假設名為searchBox的組件接收兩個輸入:@Input() titles: string[]和@Input() model: Object,標題值的數量等于模型屬性的數量。searchBox生成標題長度的輸入框,并從用戶那里獲取搜索主題并將它們推送到名為titlesValues的字串陣列中。所以,搜索盒應受讓人的值titlesValues到模型屬性對等,并且經由輸出模型@Output resultModel: Object。我嘗試動態訪問每個模型屬性以進行分配,因此我將此場景編碼為以下內容:
let i =0;
Object.keys(this.model).forEach((key) => {
this.model[key] = this.titlesValues[i];
});
雖然我測驗了很多陳述句和替代代碼以獲得所需的結果,但它會出現以下錯誤:
元素隱式具有 'any' 型別,因為型別 'string' 的運算式不能用于索引型別 'Object'。
我該如何實作這個場景?最好的祝福。
uj5u.com熱心網友回復:
為了克服錯誤,您可以明確定義model為型別any:
@Input() model: any;
或者
為 定義一個新介面model并將其用作:
interface Model {
[index: string]: string;
}
@Input() model: Model;
uj5u.com熱心網友回復:
嘗試改變這一點:
@Input() titles: any[]
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/395880.html
標籤:javascript 有角的 打字稿
上一篇:單擊按鈕后角度顯示JSON資料
