javascript - 为什么函数没有在 eval 中定义?
问题描述
我有以下 Pokemon.vue 文件:
<template>
<div class="pokemon">
<h1>Pokemon Overview</h1>
<div class v-for="pokemon in pokemonArray" :key="pokemon.id">
<p>{{ pokemon.name }}</p>
<p>{{ pokemon.number }}</p>
<p>{{ pokemon.height }}</p>
<p>{{ pokemon.weight }}</p>
<p>{{ pokemon.types }}</p>
</div>
<button @click="AddPokemon">AddPokemon</button>
</div>
</template>
<script>
import axios from "axios";
import db from "@/firebase/init";
export default {
name: "Pokemon",
data() {
return {
pokemonArray: [],
};
},
methods: {
CapitalizeFirstLetter(string) {
return string.charAt(0).toUpperCase() + string.slice(1);
},
AddPokemon() {
for (var i = 520; i < 524; i++) {
axios.get("https://pokeapi.co/api/v2/pokemon/" + i).then((response) => {
var types = [];
for (var j = 0; j < response.data.types.length; j++) {
types.push(response.data.types[j].type.name);
}
db.collection("pokemon").add({
number: i,
name: CapitalizeFirstLetter(response.data.name),
weight: response.data.weight / 10,
height: response.data.height / 10,
types: types,
image:
response.data.sprites.other["official-artwork"].front_default,
});
});
}
},
},
created() {
//Fetch data from the firestore
db.collection("pokemon")
.get()
.then((snapshot) => {
snapshot.forEach((doc) => {
let pokemon = doc.data();
this.pokemonArray.push(pokemon);
});
});
},
};
</script>
<!-- Add "scoped" attribute to limit CSS to this component only -->
<style scoped>
</style>
但是,当我单击运行 AddPokemon 函数的按钮时,我会遇到
CapitalizeFirstLetter 未在 eval 中定义
我不明白为什么会这样。我显然遗漏了一些东西,但据我了解,使用与“方法”不同的方法应该没问题,但情况可能并非如此?任何帮助是极大的赞赏。
解决方案
尝试this.CapitalizeFirstLetter
推荐阅读
- javascript - 使用淘汰赛,如何将图像 src 绑定到异步方法?
- javascript - 为什么我的脚本仅在缩小后才抛出“无法重新定义属性:i”错误?
- c# - ASP.NET MVC 中回调后的 RedirectToAction
- javascript - 如何在一个页面上多次重复使用一个功能?
- python - 使用 Python 从 Web 目录下载多个 csv 文件并将它们存储在磁盘中,使用锚文本作为文件名
- scala - Spark/Scala 在不同的数据子集上使用相同的函数重复创建 DataFrame
- spring-boot - 如何从 Java JPA 中的列表中延迟加载对象?
- sql-server - 从 SQL Server 代理作业执行 python 脚本得到错误
- javascript - 有没有办法检查 React 组件中的路由数量?
- c - 如何配置 Git 以忽略自动生成代码中的琐碎更改(例如时间戳)?