Nuxt × microCMSでポートフォリオサイトを構築しているんですが、Indexページで複数のAPIからコンテンツを取得する方法が分からず困っています。(NewsやProductといった複数のAPIからそれぞれコンテンツをIndexページに表示したいです)
APIが1つの場合(Productだけ or Newsだけ)は問題なく表示されるのですが、Product・News両方からコンテンツ取得しようとするとエラーで出来なくなってしまいます。async asyncData()を2回そのまま書いているのが問題なのかなと思っています。初歩的な質問かもしれませんが、お知恵を貸して頂けると助かります!よろしくお願いします。
vue
1<template> 2 <div> 3 4 <swiper :options="swiperOption"> 5 <swiper-slide v-for="item in items" :key="item.id"> 6 <a :href="`${item.link}`" target="_blank"> 7 <img :src="item.thumbnail.url"> 8 <h3>{{ item.creator }}</h3> 9 <h4>{{ item.category }}</h4> 10 </a> 11 </swiper-slide> 12 </swiper> 13 14 <swiper :options="swiperOption"> 15 <swiper-slide v-for="blog in blogs" :key="blog.id"> 16 <a :href="`${blog.link}`" target="_blank"> 17 <img :src="blog.thumbnail.url"> 18 <h1>{{ blog.title }}</h1> 19 </a> 20 </swiper-slide> 21 </swiper> 22 23 </div> 24</template> 25 26<script> 27import axios from 'axios' 28export default { 29 async asyncData() { 30 const { data } = await axios.get( 31 'https://your-service-id.microcms.io/api/v1/item', 32 { headers: { 'X-API-KEY': 'your-api-key' }} 33 ) 34 return { items: data.contents } 35 }, 36 async asyncData() { 37 const { data } = await axios.get( 38 'https://your-service-id.microcms.io/api/v1/blog', 39 { headers: { 'X-API-KEY': 'your-api-key' }} 40 ) 41 return { blogs: data.contents } 42 } 43} 44</script> 45
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/07/24 12:26