微信小程序之Image那些事

news/2024/7/20 1:57:53 标签: 微信小程序, 小程序

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档

文章目录

  • 前言
  • 一、使用场景
  • 二、使用方式
    • 1.动态读取image大小
    • 2.动态设置style
    • 3.动态赋值
  • 总结


前言

小程序中 Image使用频率是非常高的 不同场景下 Image使用的属性也不一样

一、使用场景

因为小程序的image是有默认大小的 所以在使用时不得不手动去设置大小 单一图片都好处理 如果是动态渲染的 该怎么处理呢 大部分处理处理方式就是宽度百分百 高度自适应 或者高度百分百 宽度自适应 那么我们该如何精准处理呢

二、使用方式

1.动态读取image大小

文档地址

在这里插入图片描述
通过load方法得到原始图片的宽高。

2.动态设置style

这里是vue3的语法 供参考

<view class="paperList">
 <view
   class="paperItem"
   v-for="(item, i) in vdata.imageList"
   :key="item"
   @tap="lookDetail(i)"
 >
   <image
     mode="widthFix"
     :src="item"
     :style="{ width: vdata.imgSize[i + '_' + 'index'] || 0 }"
     @load="(e) => getImgSize(e, i + '_' + 'index')"
   ></image>
 </view>
</view>

import { reactive } from 'vue'
const vdata: any = reactive({
  imageList: [],
  imgSize: {},
})

3.动态赋值

const getImgSize = (e, index, type?: Number) => {
  let maxWidth = type || vdata.mainWidth
  const { width } = e.detail

  if (width > maxWidth) {
    vdata.imgSize[index] = `${maxWidth}px`
  } else {
    vdata.imgSize[index] = `${width}px`
  }
}

总结

宽度百分百 高度自适应 如果宽度大于某个值 设置最大值 如果小于 则取图片宽度 通过bindload读取宽度 然后动态设置。


http://www.niftyadmin.cn/n/1755830.html

相关文章

LiDAR SLAM 闭环——BoW3D论文详解

先说总结 现算法已经开源&#xff0c;代码链接&#xff1a; GitHub - YungeCui/BoW3D: [RA-L] BoW3D: Bag of Words for Real-Time Loop Closing in 3D LiDAR SLAM. 背景 SLAM&#xff08;同时定位与地图构建&#xff09;是一种让机器人在构建环境地图的同时&#xff0c;定位…

C++primer(第五版)第十章(泛型算法)

10.1概述 大多数算法定义在头文件algorithm中.另外头文件numeric中定义了一组数值泛型算法. 一般情况下算法不直接操作容器,而是通过迭代器来对元素进行处理,因此迭代器令算法不依赖容器,但算法依赖于元素类型的操作. 泛型算法本身不会执行容器的操作,它们只会运行于迭代器之…

MAYA大门动画(有点绕)

不放进去 重新试一变&#xff0c;方便观查

sympy 偏振光学之Jones矩阵

Jones向量 Jones向量是描述光线偏振状态的重要工具&#xff0c;例如一个偏振角度为 ψ \psi ψ的Jones向量可表示为 J ^ [ cos ⁡ ψ sin ⁡ ψ ] \hat J\begin{bmatrix} \cos\psi\\ \sin\psi \end{bmatrix} J^[cosψsinψ​] 在sympy.physics.optics.polarization中&#x…

电脑各配置跟不上,造成频繁花屏。

本人用的是i3 7350K&#xff0c;然而散热器是二十多块的杂牌&#xff0c;CPU温度经常不稳定&#xff0c;可以在监控软件看到比较详细的情况&#xff0c;然后我的显卡是gtx1080&#xff0c;内存加到双条24G。 最近一直花屏&#xff0c;我甚至怀疑是不是显卡坏了&#xff0c;然后…

Go 语言变量

Go 语言变量 变量来源于数学&#xff0c;是计算机语言中能储存计算结果或能表示值抽象概念。 变量可以通过变量名访问。 Go 语言变量名由字母、数字、下划线组成&#xff0c;其中首个字符不能为数字。 声明变量的一般形式是使用 var 关键字&#xff1a; var identifier typ…

SpringBoot--超时熔断器

需求背景 如果一个服务中有很多涉及需要服务间熔断的地方&#xff0c;就会出现N多下述代码&#xff1a; 1.N个fegnClient接口 FeignClient(name "hello-world-service", fallback HelloWorldFallback.class) public interface HelloWorldService {GetMapping(&q…

高清还原你大脑中的画面

AI 直接把你脑中的创意画出来的时刻&#xff0c;已经到来了。 近几年&#xff0c;图像生成领域取得了巨大的进步&#xff0c;尤其是文本到图像生成方面取得了重大突破&#xff1a;只要我们用文本描述自己的想法&#xff0c;AI 就能生成新奇又逼真的图像。但其实我们可以更进一…