Вам следует присвоить data
свойство response
для вашего info
свойства следующим образом:
.then(response => (this.info = response.data))
и передать это свойство info
через props
дочернему компоненту:
<Prices :info='info'/>
и измените app.vue
на это:
<template>
<div id="app">
<Prices :info='info'/>
</div>
</template>
<script>
import Prices from './components/Prices.vue'
export default {
name: 'app',
data () {
return {
info: null
}
},
components: {
Prices
},
mounted () {
this.axios //<--- use this.axios instead of `axios`
.get('https://api.coindesk.com/v1/bpi/currentprice.json')
.then(response => (this.info = response.data))
}
}
</script>
и main.js
:
import Vue from 'vue/dist/vue.js';
import App from './App.vue'
import './registerServiceWorker'
import axios from 'axios';
import vueAxios from 'vue-axios';
Vue.use(vueAxios,axios); //add Vue.use(axios)
Vue.config.productionTip = false new Vue({
render: h => h(App),
data() {
return {}
}
}).$mount('#app')
Примечание
Вы также должны установить vue-axios
через:
npm install --save vue-axios
и использовать его с axios
, например:
import axios from 'axios';
import vueAxios from 'vue-axios';
Vue.use(vueAxios,axios); //add Vue.use(axios)