実現したいこと
v-forで表示させた3枚の画像に触れた(マウスオーバー)とき、
<img v-bind:src="imageName" class="imgName">で表示されている画像へ上書きして切り替わらせたいです。
methods内でthisを使用してtagを上書きして表示させようとしましたが、undefinedになってしまいました。コンソールで確認したところ、そもそも画像パスが取得できていません。
どう修正すれば良いかアドバイスを頂けると嬉しいです。
よろしくお願いいたします。
発生している問題・エラーメッセージ
Error in v-on handler: "ReferenceError: imgLists is not defined"
該当のソースコード
HTML
1 <div id="app"> 2 <div class="flex"> 3 <img v-bind:src="imageName" class="imgName"> 4 <div class="right"> 5 <h3 class="title">{{ title }}</h3> 6 <p class="address">{{ address }}</p> 7 <img v-bind:src="tag" class="tagimg"> 8 </div> 9 </div> 10 <ul> 11 <li v-for="imgList in imgLists" class="imgList_img"><img v-on:mouseover="changeImg()" v-bind:src="imgList.src" class="imgList_img"></li> 12 </ul> 13 </div> 14 <script src="https://cdn.jsdelivr.net/npm/vue@2.6.14/dist/vue.js"></script> 15 <script src="./item.js"></script> 16</body>
JavaScript
1new Vue({ 2 el: '#app', 3 data: { 4 title: '店名', 5 address: '住所', 6 imageName: '.png', 7 tag: '.png', 8 imgLists:[ 9 { 10 src:".jpeg", 11 }, 12 { 13 src: ".jpeg", 14 }, 15 { 16 src:".jpeg" 17 }] 18 }, 19 methods:{ 20 changeImg: function(event){ 21 this.tag = imgLists.src 22 } 23 } 24})

回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2022/06/02 05:40