いつもお世話になっております。
現在ECサイトのモックアップを練習していまして、
<目標>
・ラジオボタンで表示される画像を切替えたい
下記の画像のように、photo1をクリックすると、PickedがOneと表示され、photo2をクイックするとTwoと表示するところまでできたのですが、imgをどう挿入すればいいかがわかりません。
画像自体は、componentsの中のimagesに入れようと考えています。
試したこと、下記のコードの中のvalue="one"部分を、value="画像のURL"にしたのですが、やはりimgタグではいので上手く行きませんでした.
普段はPythonなどでバックエンドの方しか触っておらず、HTML&CSSですら、かなり前に学んだことがある程度なので、初歩的なミスを犯してはいると思いますが、ご助力いただけると幸いです。
コード下(Vue.js, Boostrap)
Vue.js
1<template> 2<div class="category-page"> 3 <h3>{{product.title}}</h3> 4 <b-row> 5 <b-col cols="5"> 6 <input type="radio" id="one" value="one" v-model="picked"> 7 <label for="one">photo1</label> 8 <br> 9 <input type="radio" id="two" value="Two" v-model="picked"> 10 <label for="two">photo2</label> 11 <br> 12 <span>Picked: {{ picked }} </span> 13 <img :src="product.image" class="product-image" /> 14 15 </b-col> 16 <b-col cols="7"> 17 <p> 18 {{product.description}} 19 </p> 20 21 <p> 22 Option selected: {{defaultOption.title}} 23 </p> 24 25 <p> 26 Price: ${{defaultOption.price}} 27 </p> 28 29 <button v-on:click="counter += 1">+</button> 30 {{counter}} 31 <button v-on:click="counter -= 1">-</button> 32 33 </b-col> 34 </b-row> 35</div> 36</template> 37 38<script> 39import axios from "axios"; 40export default { 41 name: 'ProductPage', 42 data: function() { 43 return { 44 picked: {}, 45 counter: 0, 46 product: {}, 47 defaultOption: {} 48 } 49 }, 50 mounted() { 51 axios 52 .get("https://euas.person.ee/products/" + this.$route.params.productId) 53 .then(response => { 54 this.product = response.data; 55 this.defaultOption = this.product.options[0]; 56 }); 57 } 58} 59</script> 60 61<style scoped> 62.product-image { 63 width: 300px; 64} 65</style>
回答3件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
退会済みユーザー
2020/03/23 08:59
2020/03/23 09:02
退会済みユーザー
2020/03/23 09:14
2020/03/23 09:21
退会済みユーザー
2020/03/23 09:24
退会済みユーザー
2020/03/23 09:27
退会済みユーザー
2020/03/23 09:29 編集
2020/03/23 09:37
退会済みユーザー
2020/03/23 09:43