Это потому, что у вас есть одно свойство hovered
, общее для всех ваших pics
.Вам нужно переписать свои фотографии, чтобы у каждого было свое hovered
состояние.Например ..
data(){
return {
pics: [
{id: 0, name: 'pic1.jpg', hovered: false},
{id: 1, name: 'pic2.jpg', hovered: false},
{id: 2, name: 'pic3.jpg', hovered: false},
...
]
}
},
methods:{
toggleHighlight(pic){
pic.hovered = !pic.hovered;
}
}
Затем в вашем шаблоне вы можете ссылаться на отдельные hovered
состояния ..
<span v-for="pic in pics">
<img :src="'images/'+pic.name" onmouseover="toggleHighlight(pic)" :class="{isHovered: pic.hovered}" />
</span>