iT邦幫忙

0

Angular any 無法作為索引類型

想要從Context 裡取出第一個object在html差值綁定做顯示

https://ithelp.ithome.com.tw/upload/images/20211125/20143327YKYlAO8Phf.png

這是我Component 的寫法 但因其中Types屬性是 Any
會一直出現錯誤訊息 Any無法作為索引類型
請問要怎麼寫才有辦法顯示?
https://ithelp.ithome.com.tw/upload/images/20211125/20143327l73m7YKsm5.png

https://ithelp.ithome.com.tw/upload/images/20211125/20143327dCQ9I2WEjp.png

1 個回答

1
albert41
iT邦新手 4 級 ‧ 2021-11-25 23:34:18

你可能搞錯方向了

const select1 = this.pokemon2List.map(item => Object[0]);
  1. 首先 Object[0] 會是 undefinedundefined 不可被當作 Array 的索引
  2. 再者,Array.map 會得到一個新 Array,也就是說你的 select1 是一個 Array;同樣的 Array 不可被當作 Array 的索引

所以你可能要看看你要怎麼拿到一個索引

Note: Array 索引型別為 Number

types 裡的values一直無法顯示出來!/images/emoticon/emoticon02.gif

albert41 iT邦新手 4 級 ‧ 2021-11-26 22:59:46 檢舉

我不是很確定妳所謂顯示不出來是指甚麼 (看你要不要再把 code 貼上來),不過你可以把 any 改成 Array<Record<string, any>>

另外妳可以先試試看 console.log 得到些甚麼:

console.log('list', JSON.stringify(this.pokemon2List, null, 2));
this.selectedPokemon1 = this.pokemon2List[0];
console.log('selected', JSON.stringify(this.selectedPokemon1, null, 2));

我要發表回答

立即登入回答