前提・実現したいこと
取得したGoogleBooksAPIのデータをfor文で取り出して表示していますが、for文で表示したデータをユーザーがクリックするとselectBookに表示されるという動作を実現したいです。どなたか知恵を貸して頂けないでしょうか。
該当のソースコード
template
1 <v-container> 2 <v-sheet> 3 <v-card 4 v-for="book in books" 5 :key="book.id" 6 class="ma-0" 7 > 8 <v-row> 9 <v-cols class="my-4 ml-7"> 10 <img :src="image(book)"> 11 </v-cols> 12 <v-cols> 13 <v-card-title>{{ title(book) }}</v-card-title> 14 <v-card-text>{{ authors(book) }}</v-card-text> 15 </v-cols> 16 </v-row> 17 </v-card> 18 <v-card-actions> 19 <v-spacer /> 20 <v-btn 21 color="green darken-1" 22 text 23 @click="dialog = false" 24 > 25 閉じる 26 </v-btn> 27 </v-card-actions> 28 <div class="selectBook"> 29 //ここにデータを表示したい 30 </div> 31 </v-sheet> 32 </v-container> 33
script
1 data () { 2 return { 3 books: [], 4 keyword: '', 5 dialog: false, 6 url: 'https://www.googleapis.com/books/v1/volumes?q=', 7 } 8 }, 9 10 methods: { 11 get () { 12 this.$axios.get(this.url + this.keyword + '&maxResults=15') 13 .then(this.setBooks).catch(this.setError) 14 }, 15 // APIリクエスト後の処理 16 setBooks (res) { 17 this.books = res.data.items 18 }, 19 // 取得した書籍データの設定 20 title (valu) { 21 return valu.volumeInfo.title ? valu.volumeInfo.title : 'No title' 22 }, 23 getBook: { 24 authors (valu) { return valu.volumeInfo.authors ? valu.volumeInfo.authors : 'No authors' }, 25 image (valu) { return valu.volumeInfo.imageLinks ? valu.volumeInfo.imageLinks.thumbnail : noImage } 26 } 27 } 28} 29</script> 30
試したこと
・別な値に代入して表示させる。
補足情報(FW/ツールのバージョンなど)
Nuxt 2.15
Rails 6.0.1
回答1件
あなたの回答
tips
プレビュー