- Published on
Vue.jsでAPIからデータをasyncでFetchして使う方法
Vue.jsでAPIからデータをasyncでFetchしてそれをdataにセットする方法を紹介します。 とても簡単で、下記のような3ステップで終わりです。
- あらかじめからのデータ(今回は
item
とします。)を用意します。 async mount
を使い、await
を使ってデータをfetchします。fetch
したデータをthis.item
というようにあらかじめ用意したデータに入れます
CDNを利用したコードのサンプルはこちらになります。
HTMLも書いているので、これを丸ごとsample.html
のようなHTMLに保存して、
ブラウザで開けば動いていることがわかると思います。
<html> <head> <script src="https://cdn.jsdelivr.net/npm/vue@2.6.12/dist/vue.js"></script> </head> <body> <div id='app'> {{item}} </div> </body> <script> const vm = new Vue({ el: '#app', data: function() { return { item: [] } }, async mounted() { const data = await fetch('https://api.coindesk.com/v1/bpi/currentprice.json') const json = await data.json() this.items = json } }) </script> </html>