等待组件数据加载
waiting for component data to load
我正在使用 VueJS 版本 2,当我点击里面的 link 时(比方说)componentA 我调用 componentB 是这样的:
<template>
<div>
hey this is pokemon {{pokemonName}} with ID {{pokemonID}}
</div>
</template>
<script>
export default {
data() {
return {
pokemonName: this.$route.params.name,
pokemonID: this.$route.params.pokeid
}
},
created: function(){
console.log(pokemonID); // here is the error
// here I need to do some operations with pokemonID
}
}
</script>
点击 link 后,我正确地看到了文本 hey this is pokemon x with ID y 但是当我检查控制台时,我也看到了这个:ReferenceError: pokemonID is not defined
.
如您所见,我尝试使用 created
生命周期挂钩,因为我需要在加载组件后立即对 pokemonID
变量进行操作。
我该如何解决这个问题?
你需要在这里使用适当的范围,你忘记使用 this
,如下所示:
created: function(){
console.log(this.pokemonID); // Now there should be no error
// here I need to do some operations with pokemonID
}
你得到错误,因为在创建的函数中没有定义 pokemonID
变量,而在组件范围内有一个 pokemonID
变量,可以通过 this.pokemonID
.
我正在使用 VueJS 版本 2,当我点击里面的 link 时(比方说)componentA 我调用 componentB 是这样的:
<template>
<div>
hey this is pokemon {{pokemonName}} with ID {{pokemonID}}
</div>
</template>
<script>
export default {
data() {
return {
pokemonName: this.$route.params.name,
pokemonID: this.$route.params.pokeid
}
},
created: function(){
console.log(pokemonID); // here is the error
// here I need to do some operations with pokemonID
}
}
</script>
点击 link 后,我正确地看到了文本 hey this is pokemon x with ID y 但是当我检查控制台时,我也看到了这个:ReferenceError: pokemonID is not defined
.
如您所见,我尝试使用 created
生命周期挂钩,因为我需要在加载组件后立即对 pokemonID
变量进行操作。
我该如何解决这个问题?
你需要在这里使用适当的范围,你忘记使用 this
,如下所示:
created: function(){
console.log(this.pokemonID); // Now there should be no error
// here I need to do some operations with pokemonID
}
你得到错误,因为在创建的函数中没有定义 pokemonID
变量,而在组件范围内有一个 pokemonID
变量,可以通过 this.pokemonID
.