笔记:图片预览处理方法

在vue中的图片预览处理

1.首先利用ref获取文章Dom容器

示例:

添加ref

     <div
      class="content markdown-body"
      v-html="article.content"
      ref="article-content"
    ></div>

获取:

const articleContent = this.$refs["article-content"];

2.因为数据改变影响视图更新(Dom数据)不是立即更新的,在修改数据后马上操作被该数据影响的视图Dom,需要把这个代码放在$nextTick中

3.获取所有img标签,循环img标签并注册点击事件

    this.$nextTick(() => {
            const imgs = articleContent.querySelectorAll("img");
            const imgPaths = []  //搜集所有的图片路径
              imgs.forEach((img,index) => { //循环img列表,                                                                                                   
                    mgPaths.push(img.src)
                   //给img注册点击事件
                img.onclick = function(){
                ImagePreview({  //利用vant ImagePreview函数方法展示图片预览
                images: imgPaths,//预览图片路径列表
                startPosition: index, //起始位置
              });

            }
          })
         });

 $nextTick()方法对比

没有使用获取的

使用后获取的

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值