img使用 :src 动态绑定图片地址,图片不成功

你可以通过这两种方案来实现动态绑定背景图标。以下是详细的实现方式:

方案一:使用类名动态绑定

你可以在 CSS 中定义多个类(如 `icon1`, `icon2`, `icon3` 等),然后在模板中根据 `index` 动态应用这些类。

<template>
  <div :class="['icon', `icon${index}`]">
    动态背景图标示例
  </div>
</template>

<script setup>
import { ref } from 'vue';

const index = ref(1); // 根据需要动态设置 index
</script>

<style>
.icon {
  width: 50px;
  height: 50px;
  background-size: cover;
}

.icon1 {
  background-image: url('path/to/icon1.png');
}

.icon2 {
  background-image: url('path/to/icon2.png');
}

.icon3 {
  background-image: url('path/to/icon3.png');
}
</style>

方案二:使用导入的图标在这种方案中,你可以先导入图标,然后将其放入数组中,使用 `v-bind:style` 来设置背景图像。

<template>
  <div :style="`background-image: url(${currentIcon})`" class="icon">
    动态背景图标示例
  </div>
</template>

<script setup>
import { ref } from 'vue';
import icon1 from 'path/to/icon1.png';
import icon2 from 'path/to/icon2.png';
import icon3 from 'path/to/icon3.png';

const icons = [icon1, icon2, icon3];
const index = ref(0); // 根据需要动态设置 index

const currentIcon = computed(() => icons[index.value]);
</script>

<style>
.icon {
  width: 50px;
  height: 50px;
  background-size: cover;
}
</style>

总结

- 方案一:适合于类名已定义并且想要通过类名来控制样式。
- 方案二:更灵活,可以直接使用图标的 URL,适合图标较多或需要动态加载图标的情况。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值