vue中渲染html,并对里面的图片进行放大缩小各种操作

第一步:下载插件

安装:

npm install v-viewer

第二步:封装的vue文件

<template>
  <div ref="richText"></div>
</template>
<script>
import 'viewerjs/dist/viewer.css'
import { api as viewerApi } from "v-viewer"
export default {
    name: 'richText',
    data() {
        return {
            imgList: []
        }
    },
    methods: {
        previewURL(index) {
            //console.log('index', index)
            const $viewer = viewerApi({
                options: {
                    toolbar: true,
                    url: 'currentSrc',
                    initialViewIndex: index
                },
                images: this.imgList
            })
        },
    },
    mounted() {
        const nodeList = (this.$refs.richText).querySelectorAll('img')
        nodeList.forEach((element, index) => {
            element.className = 'zoom'
            element.addEventListener('click', () => {
                this.previewURL(index)
            })
        })
        this.imgList = [...nodeList]
    }
}
</script>

第三步:页面中使用

import richText from "./components/richText.vue"
components: {richText},
 <richText class="content" v-html="contents"></richText>

效果

在这里插入图片描述

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值