Nuxt + microcmsでJAMstackサイトを作成中です。
ブログ記事一覧などでサムネイルがあれば表示、なければデフォルトの画像を表示といった実装をおこなう際にうまくいきません。
template
1airticle(v-for='(item, index) in items' :key="item.id") 2 nuxt-link(:to='`/info/${item.id}`') 3 v-card 4 div.d-flex.flex-no-wrap.justify-space-between 5 div 6 v-card-title(v-text="item.title") 7 v-card-subtitle(v-html="item.post.slice(0, 200)") 8 div(v-if="item.eyecatch.url") 9 img(:src="item.eyecatch.url") 10 div(v-else) 11 img(src="default.png")
js
1<script> 2import axios from 'axios' 3 4export default { 5 async asyncData ({ params }) { 6 const page = params.p || '1' 7 const limit = 4 8 const { data } = await axios.get( 9 `https://hogehoge.microcms.io/api/v1/info?limit=${limit}&offset=${(page - 1) * limit}`, 10 { 11 headers: { 'X-API-KEY': process.env.API_KEY } 12 } 13 ) 14 return { 15 items: data.contents 16 } 17 }, 18 19 data () { 20 return { 21 items: [] 22 } 23 } 24} 25</script>
エラーにこのようなものがでてきてしまいます。
Cannot read property 'url' of undefined
dataに画像があるときは表示。無いときはデフォルトの表示といった記述はどのように書いたらよいでしょうか?
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/10/02 07:54