当前位置: 首页 > news >正文

vue3:动态渲染后端返回的图片

问:

div class='left-png'
这里我用css设置了他的背景图片,但是现在我希望改为后端返回的图片,怎么写?
后端返回数据:
const centerdata= {img:;xxxx,title,xxxx,num:xxxx}?

回答:

好的,下面是一个使用Vue 3的`setup`语法的示例,展示如何动态设置背景图片:

<template>
  <div :class="['left-png', { 'loading': !centerdata }]" :style="{ backgroundImage: `url(${centerdata?.img})` }">
    <!-- 其他内容 -->
  </div>
</template>

<script>
import { ref, onMounted } from 'vue';

export default {
  setup() {
    const centerdata = ref(null);

    const fetchCenterdata = async () => {
      // 模拟后端返回数据
      return new Promise((resolve) => {
        setTimeout(() => {
          resolve({
            img: 'https://example.com/path/to/your/image.jpg',
            title: 'Example Title',
            num: 123
          });
        }, 1000);
      });
    };

    onMounted(async () => {
      const data = await fetchCenterdata();
      centerdata.value = data;
    });

    return {
      centerdata
    };
  }
};
</script>

<style scoped>
.left-png {
  width: 300px;
  height: 300px;
  background-size: cover;
  background-position: center;
}

.loading {
  background-image: url('https://example.com/path/to/loading/image.jpg'); /* 加载时的占位图片 */
}
</style>

在这个示例中:

1. 使用`ref`来创建一个响应式数据`centerdata`,初始值为`null`。
2. 使用`onMounted`钩子在组件挂载时调用`fetchCenterdata`函数,模拟从后端获取数据。
3. 在模板中,使用`:style`动态绑定背景图片,并使用`centerdata?.img`确保在`centerdata`为`null`时不会报错。
4. 使用`:class`动态绑定类名,在数据加载时显示加载中的占位图片。

你可以根据实际情况替换模拟数据部分为实际的数据获取逻辑。

http://www.dtcms.com/a/18694.html

相关文章:

  • 朝天椒USB服务器解决前置机U盾虚拟机远程连接
  • Python常见面试题的详解3
  • ES分词技术
  • SpringBoot:使用spring-boot-test对web应用做单元测试时如何测试Filter?
  • Redis 集群相关知识介绍
  • 小初高各学科教材,PDF电子版下载
  • 切换git仓库远程地址
  • C#windows窗体人脸识别
  • Ubuntu 下 nginx-1.24.0 源码分析 - ngx_atomic_cmp_set 函数
  • Django5的新特征
  • Manga Image Translator 开源 AI 漫画翻译工具的深度剖析
  • 【编写UI自动化测试集】Appium+Python+Unittest+HTMLRunner​
  • ubuntu服务器 如何配置安全加固措施
  • Visual Studio 使用 “Ctrl + /”键设置注释和取消注释
  • 肝了半年,我整理出了这篇云计算学习路线(新手必备,从入门到精通)
  • 安卓手游内存call综合工具/内部call/安卓注入call/数据分析(类人猿学院)
  • C语言-章节 4:函数的定义与声明 ——「神秘法术的卷轴」
  • stm32mp集成swupdateOTA升级
  • docker nginx 配置文件详解
  • vuedraggable固定某一item的记录
  • CentOS安装Docker,Ubuntu安装Docker,Docker解决方案
  • 001 SpringCloudAlibaba整合 - Nacos注册配置中心、Sentinel流控、Zipkin链路追踪、Admin监控
  • LeapMotion第2代 Unity示范代码(桌面开发)
  • 快速幂(算法)的原理
  • SQLMesh系列教程-2:SQLMesh入门项目实战(下篇)
  • 【银河麒麟高级服务器操作系统】服务器卡死后恢复系统日志丢失-分析及处理全过程
  • gitee 配置密钥key过程
  • 通过内网穿透ssh实现远程对家里的linux进行终端操作和编程
  • 20250213编译飞凌的OK3588-C_Linux5.10.209+Qt5.15.10_用户资料_R1
  • Java 同步锁性能的最佳实践:从理论到实践的完整指南