vue.js - 特定卡的 Vue 覆盖
问题描述
我将 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>
解决方案
我会制作一个包含 v-card 的新组件,因此每个组件都有自己的覆盖数据属性。但是将所有这些都放在一个带有arts.length覆盖变量的组件中也可以
推荐阅读
- c - GTK3.0+ App UI 冻结问题。线程问题
- jquery - 如何在不刷新整个页面的情况下在 PHP/WordPress 中执行切换功能 jQuery?
- ios - (Swift) 如何在一个文件夹中创建子文件夹
- java - 为 String.format() 使用可变长度参数列表
- javascript - 表格行的验证
- python - 用逗号将模型的 CharField 拆分为两个变量
- c# - 更新单元格值会破坏行样式。非营利组织,C#
- python - 为什么 scipy.optimize.mminimize 不使用提供的初始猜测
- python - 在 pytorch 数据加载器中从远程服务器获取数据
- ffmpeg - FFMPEG RTSP 流式传输