var vm = new Vue({
el: '#app',
data () {
return {
info: null
}
},
mounted () {
axios
.get('https://api.coindesk.com/v1/bpi/currentprice.json')
.then(response => (this.info = response))
}
})
console.log(vm.info)
//Why vm.info is null? I think it has already been overrided.
<script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>
<script src="https://unpkg.com/axios/dist/axios.min.js"></script>
<div id="app"></div>
为什么vm.info为null?我认为它已经被覆盖。
当我仅使用vue.js时,可以将其覆盖。
如何获取更新的vm.info?
答案 0 :(得分:4)
由于axios.get
是异步方法,因此console.log
在更新信息之前执行;要检查更新的信息,您必须在then
之后链接一个axios.get(...)
方法,类似于axios.get(...).then(...).then(() => console.log(this.info))
。