【发布时间】:2020-10-03 06:08:29
【问题描述】:
我将 Vue 与 Vuetify 一起使用,并且我使用了一个 for 循环来渲染 8 张不同的卡片。每张卡片都有自己的叠加层,单击时会显示自己的图像,但是当我单击一张卡片时,所有叠加层都会被设置,而不是仅针对特定卡片的叠加层。我该怎么做呢?我需要为每张卡添加一个 ID 吗?
<script>
export default {
data: () => ({
arts: [
require("@/assets/art1.jpg"),
require("@/assets/art2.jpg"),
require("@/assets/art3.jpg"),
require("@/assets/art4.jpeg"),
require("@/assets/art5.jpg"),
require("@/assets/art6.jpg"),
require("@/assets/art7.jpg"),
require("@/assets/art8.jpg")
],
absolute: true,
opacity: 1,
overlay: false,
})
};
</script>
<template>
<div style="width: 100%; height: 100%">
<v-container fluid style="height:100%; background-color:#fc8276; width:25%; float:left"></v-container>
<v-container style=" height: 100%; width: 75%; float:right" fluid>
<h1>Portfolio</h1>
<v-card
v-for="art in arts"
class="ma-5"
v-bind:key="art"
style="width: 15em; height: 15em; display:inline-flex"
>
<v-img :src="art" v-on:click="overlay=true"></v-img>
<v-overlay :absolute="absolute" :opacity="opacity" :value="overlay">
{{art}}
</v-overlay>
</v-card>
</v-container>
</div>
</template>
【问题讨论】:
标签: vue.js vuetify.js