无法在 Vue3 中读取未定义(读取)的属性
2022-06-21
1226
我从著名的 ApiPokemon 收到此调用: https://pokeapi.co/api/v2/pokemon?limit=151
一旦我获得该数据,我想将其通过另一种方法( _getPokemonData )传递,以映射每个 Pokémon 的完整数据。
但是,当我创建此 VueJS 方法时,我收到此错误:
未捕获(在承诺中)TypeError:无法读取未定义的属性(读取“_getPokemonData”)
为什么我不能在 forEach 中调用 _getPokemonData 方法? 这是我的代码:
mounted() {
this.$http
.get("https://pokeapi.co/api/v2/pokemon?limit=151")
.then((response) => {
//this.pokemons = response.data.results;
this.pokemons = response.data.results.forEach(function(pokemon){
this._getPokemonData(pokemon);
});
});
this.$http
.get("https://pokeapi.co/api/v2/type/")
.then((response) => {
this.types = response.data.results;
});
},
methods: {
_getPokemonData(pokemon) {
console.log(pokemon);
},
1个回答
将 forEach 中的函数切换为箭头函数。通过使用“function”,您可以创建一个劫持“this”引用的新范围。
请参阅 this
Sombriks
2022-06-21