作りたいもの
ホットペッパーのAPIからデータを取得して、表示させたい!
参考にしているけどうまくいかないサイト
↑
これをやっているのですがうまくいきません!
上記のサイトの最終的なコード
Vue.jsの var app = 〜〜〜〜〜〜などは間違いなく記述しています。
↓
html
1<ul> 2 <li v-for="item in infoAll" :key="item.id"> 3 {{ item.updated_at }}<br> 4 <a :href="item.url" target="_blank"> 5 {{ item.title }} 6 </a> 7 </li> 8</ul>
Vue
1data: function() { 2 return { 3 qittatoken: 'トークン番号' //アクセストークンがある場合は記述 4 infoAll: {} 5 } 6}, 7methods: { 8 getAPIs: function() { 9 axios.get(`https://qiita.com/api/v2/users/[ユーザー名]/items`) 10 //アクセストークンがある場合はget()内に記述を追加してください 11 .then(res => { 12 this.infoAll = res.data 13 console.log(this.infoAll) 14 }) 15 } 16 }, 17created: function() { 18 this.getAPIs() 19 }
コンソールに表示されているエラー文
[Vue warn]: Property or method "infoALl" is not defined on the instance but referenced during render. Make sure that this property is reactive, either in the data option, or for class-based components, by initializing the property. See: https://vuejs.org/v2/guide/reactivity.html#Declaring-Reactive-Properties.
↑
これがコンソールに表示され、ブラウザの画面にもcssが反映されているだけで文字などは表示されません。。
公式のものを試したらうまく配列を取得できるのに。。。
この公式のリファレンスのコードだとちゃんと表示されます!
↓
html
1<div id="app"> 2 {{ info }} 3</div>
Vue
1new Vue({ 2 el: '#app', 3 data () { 4 return { 5 info: null 6 } 7 }, 8 mounted () { 9 axios 10 .get('https://api.coindesk.com/v1/bpi/currentprice.json') 11 .then(response => (this.info = response)) 12 } 13})
このような記述でmounted?methods?を呼び出したいです!!
Vue
1created: function() { 2 this.getAPIs() 3 }
わかりにくい説明だとは思いますが、よろしくお願い致します!!
あなたの回答
tips
プレビュー