vite使用vue3 v-for渲染图片时的写法

news2024/11/23 19:40:38

写法一

<template>
  <div
    class="demo-img"
    v-for="item in demoOption"
    :key="item.code"
    :style="`background-image: url(${getImageUrl(`../assets/imge/${item.img}.jpeg`)})`"
  ></div>
</template>

<script lang="ts" setup>
import { reactive } from 'vue';
const demoOption = reactive([
  { label: '图一', code: 'one', img: 'one' },
  { label: '图二', code: 'too', img: 'too' }
])
const getImageUrl = (name:string) => {
  return new URL(`${name}`, import.meta.url).href
}
</script>
<style lang="scss" scoped>
.demo-img{
  width: 400px;
  height: 200px;
  background-position: right bottom;
  background-repeat: no-repeat;
  background-size: 63%;
}
</style>

效果

在这里插入图片描述

写法二

<template>
  <div
    class="demo-img"
    v-for="item in demoOption"
    :key="item.code"
    :style="`background-image: url(${getImageUrl(`${item.img}.jpeg`)})`"
  ></div>
</template>

<script lang="ts" setup>
import { reactive } from 'vue';
const demoOption = reactive([
  { label: '图一', code: 'one', img: 'one' },
  { label: '图二', code: 'too', img: 'too' }
])
const getImageUrl = (name:string) => {
  return new URL(`/src/assets/imge/${name}`, import.meta.url).href
}
</script>
<style lang="scss" scoped>
.demo-img{
  width: 400px;
  height: 200px;
  background-position: right bottom;
  background-repeat: no-repeat;
  background-size: 63%;
}
</style>

写法三

<template>
  <div
    class="demo-img"
    v-for="item in demoOption"
    :key="item.code"
    :style="`background-image: url(${item.img})`"
  ></div>
</template>

<script lang="ts" setup>
import { reactive } from 'vue';
import one from '@/assets/imge/one.jpeg'
import too from '@/assets/imge/too.jpeg'
const demoOption = reactive([
  { label: '图一', code: 'one', img: one },
  { label: '图二', code: 'too', img: too }
])
</script>
<style lang="scss" scoped>
.demo-img{
  width: 400px;
  height: 200px;
  background-position: right bottom;
  background-repeat: no-repeat;
  background-size: 63%;
}
</style>

写法四

<template>
  <div
    class="demo-img"
    v-for="item in demoOption"
    :key="item.code"
    :style="`background-image: url(${item.img})`"
  ></div>
</template>

<script lang="ts" setup>
import { reactive,ref } from 'vue';
const one = ref('/src/assets/imge/one.jpeg')
const too = ref('/src/assets/imge/too.jpeg')
const demoOption = reactive([
  { label: '图一', code: 'one', img: one },
  { label: '图二', code: 'too', img: too }
])
</script>
<style lang="scss" scoped>
.demo-img{
  width: 400px;
  height: 200px;
  background-position: right bottom;
  background-repeat: no-repeat;
  background-size: 63%;
}
</style>

vue-cli写法参照

精简代码 减少冗余 使用v-for通过require动态设置图片和背景

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/609453.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

2023网安最流行的10大工具(附安装包)

从事网络安全工作&#xff0c;手上自然离不开一些重要的网络安全工具。今天&#xff0c;分享10大网络安全工具。 一、Kali Linux Kali 是一个基于 Debian 的 Linux 发行版。它的目标就是为了简单&#xff1a;在一个实用的工具包里尽可能多的包含渗透和审计工具。Kali 实现了这…

Linux 之Python 定制篇-APT 软件管理和远程登录

Linux 之Python 定制篇-APT 软件管理和远程登录 apt 介绍 apt 是Advanced Packaging Tool 的简称&#xff0c;是一款安装包管理工具。在Ubuntu 下&#xff0c;我们可以使用apt 命令进行软件包的安装、删除、清理等&#xff0c;类似于Windows 中的软件管理工具。 unbuntu 软件…

【C++】深拷贝浅拷贝

前言&#xff1a;在 C 中&#xff0c;当一个对象通过赋值或拷贝即将成为另一个对象的副本时&#xff0c;会发生“浅拷贝”或“深拷贝”。 什么是浅拷贝&#xff1f; 浅拷贝是指两个对象共享同一个内存地址&#xff0c;即将源对象的数据成员的地址赋给了目标对象&#xff0c;当…

vue diff算法与虚拟dom知识整理(15) 终结篇,收尾新前到旧前全部不匹配情况

我们现在就只需要处理最后一种情况了 我们在 updateChildren.js 在while中 的if最后加个 else 当他们都没哟匹配到的情况 我们现在在updateChildren.js最上面 定义一个空对象 叫 keyMap 参考代码如下 let keyMap null;然后 在我们刚写的else中编写代码如下 //判断 如果…

Stable-Diffusion|入门怎么下载与使用civitai网站的模型(二)

C站&#xff1a;https://civitai.com/ 文章目录 1 样图2 实现2.1 下载主模型并放到正确文件夹中2.2 找到prompt2.3 生成2.4 Lora使用 3 一些有趣的项目3.1 胶片风格Lora3.2 [最近很火] 现实感很强的Majicmix-realistic 先贴几张笔者自己实验的图&#xff0c;模型来自&#xff1…

Libevent学习

一、Libevent概述 1、简介 Libevent 是一个用C语言编写的、轻量级的开源高性能事件通知库&#xff0c;主要有以下几个亮点&#xff1a;事件驱动&#xff08; event-driven&#xff09;&#xff0c;高性能;轻量级&#xff0c;专注于网络&#xff0c;不如 ACE 那么臃肿庞大&…

C++必背基础知识点总结

重点&#xff1a;不借助任何外部资料就能掌握&#xff0c;考试面试大概率涉及。 掌握&#xff1a;不借助任何外部资料就能掌握&#xff0c;考试面试有可能涉及。 熟悉&#xff1a;可以适当参考资料掌握&#xff0c;考试面试有可能涉及。 了解&#xff1a;可是参考资料掌握&…

iptables的四表五链

文章目录 1. Iptables的链2.Iptables的表3.数据包过滤的匹配流程3.1 规则表之间的顺序3.2 规则链之间的顺序3.3 规则链内部各条防火墙规则之间的顺序3.4如何应用 每个 规则表&#xff0c;其实就相当于一个内核空间的容器&#xff0c; 按照规则集的不同用途进行划分为默认的四…

w11+wsl+3060安装cuda等深度学习环境

把一切都重新又梳理学习了一遍&#xff0c;然后发现很多事情其实没必要弄 0. 显卡驱动、nvidia-smi、cuda、nvcc、cuDNN、pytorch、cudatoolkit与它们之间的关系 笔者本人鸟枪换炮了&#xff0c;还是wsl环境香&#xff0c;但是按照官方教程跑完后&#xff0c;遇到了bugRuntim…

RTMPose关键点检测实战——笔记3

文章目录 摘要安装MMPose安装虚拟环境安装pytorch安装MMCV安装其他的安装包下载 MMPose下载预训练模型权重文件和视频素材 安装MMDetection安装Pytorch安装MMCV安装其它工具包下载 MMDetection安装MMDetection下载预训练模型权重文件和视频素材 MMPose预训练模型预测命令行的方…

关于render: h => h(App)的解释

当我们第一次安装完脚手架&#xff0c;打开 的时候&#xff0c;我相信&#xff0c;一定有小伙伴和我一样&#xff0c;看到main.js里面的render: h > h(App),感觉懵懵的。 因为&#xff0c;在刚开始接触vue的时候&#xff0c;我们这里是这样写的&#xff1a; 而使用了脚手…

iOS性能优化-异步绘制与异步底层View处理

前言&#xff1a; 基于UIKit的性能优化似乎已经到了瓶颈&#xff0c;无论是使用frame代理snpakit&#xff0c;缓存高度&#xff0c;减少布局层次&#xff0c;diff刷新&#xff0c;压缩图片&#xff0c;选择合适队列&#xff0c;选择高性能锁&#xff0c;也不能满足当前庞大而又…

SpringBoot 整合 MongoDB 实现数据的增删改查功能

1、介绍说明 在 MongoDB 中有三个比较重要的名词&#xff1a;数据库、集合、文档 数据库&#xff08;Database&#xff09;&#xff1a;和关系型数据库一样&#xff0c;每个数据库中有自己的用户权限&#xff0c;不同的项目组可以使用不同的数据库 集合&#xff08;Collectio…

汽车新能源 - 单体电压值为什么通常是5V以内

常见蓄电池单体电压的值&#xff08;25℃&#xff09;&#xff0c;如下表&#xff1a; 蓄电池类型单体电压&#xff08;V&#xff09;铅酸 蓄电池2.08镍金属氢 蓄电池&#xff08;NIMH&#xff09;1.32锂离子 蓄电池2.5~4.2&#xff08;典型3.6&#xff09; 单体电压为什么不…

安卓学习笔记(一)

从今天开始我们开始学习安卓的知识&#xff1a; 1.0 Android基础入门教程 1.Android背景与当前的状况 Android系统是由Andy Rubin创建的&#xff0c;后来被Google收购了&#xff1b;最早的版本是:Android 1.1版本 而现在最新的版本是今年5.28&#xff0c;Google I/O大会上推…

Logstash部署与使用

ElasticSearch 1、ElasticSearch学习随笔之基础介绍 2、ElasticSearch学习随笔之简单操作 3、ElasticSearch学习随笔之java api 操作 4、ElasticSearch学习随笔之SpringBoot Starter 操作 5、ElasticSearch学习随笔之嵌套操作 6、ElasticSearch学习随笔之分词算法 7、ElasticS…

123网盘在线解析PHP版源码

123网盘解析PHP版本源码是一种非常实用的工具&#xff0c;可以方便地帮助用户在网页上直接解析出其它网站中的资源&#xff0c;并提供下载链接。当用户需要获取某些资源时&#xff0c;往往需要通过各种搜索引擎或者专业的资源网站进行查找&#xff0c;而且很多时候找到了资源链…

Android NDK集成OpenCV使用C++的.h和.so库函数

Android NDK集成OpenCV使用C的.h和.so库函数 opencv可以作为一个单独的Android module库&#xff0c;被工程下的其他模块使用&#xff0c;但是这样就没法在Android NDK项目的c代码直接使用opencv的.h文件和.so文件。要在Android NDK项目C代码文件中使用&#xff0c;则需要以An…

Nautilus Chain上首个DEX PoseiSwap即将开启IDO

据悉&#xff0c;Nautilus Chain 上的首个 DEX PoseiSwap 即将开启 IDO &#xff0c;根据官方的最新公告显示&#xff0c;PoseiSwap 即将于 6 月 13 日至 6 月 14 日期间&#xff0c;在 Bounce 平台开启其治理通证 $POSE 的 IDO&#xff08;Initial DEX Offering&#xff09;&a…

数据分析--Numpy初级(一)

Numpy初级 Ndarray对象dtype对象 Numpy是数据分析的基础库&#xff0c;它支持大量的维度计算与矩阵运算。同时他也是一个运行速度非常快的数学库&#xff0c;主要用于数组计算&#xff0c;具有线性代数、傅里叶变换、随机数生成等功能。 Ndarray对象 Numpy最重要的一个特点就…