vue-quill-editor 图片放大缩小 及富文本解析 放大图片预览

接上回

巴阿这是上一篇博客的标题
《vue vue-quill-editor 富文本编辑器 (图片问题)+拦截粘贴动作 将粘贴的图片上传服务器 + 一个页面渲染多个富文本编辑器(使用场景循环遍历 个数不定)》
上篇传送门

需求1.编辑框里图片可放大缩小

在这里插入图片描述
记得把这俩导入的包装一装哈 装包代码就不写了

import { ImageDrop } from 'quill-image-drop-module'
import ImageResize from 'quill-image-resize-module'
Quill.register('modules/imageDrop', ImageDrop)
Quill.register('modules/imageResize', ImageResize)

在这里插入图片描述
然后项目跑起来你会发现 报错了 不要慌 配置一下vue.config.js 有用的只有图片标红的地方
在这里插入图片描述

const webpack = require('webpack')
configureWebpack: {
    // provide the app's title in webpack's name field, so that
    // it can be accessed in index.html to inject the correct title.
    name: name,
    resolve: {
      alias: {
        '@': resolve('src')
      }
    },
    plugins: [
      new webpack.ProvidePlugin({
        'window.Quill': 'quill/dist/quill.js',
        Quill: 'quill/dist/quill.js'
      })
    ]
  },

上述步骤做完 ,你就得到了一个可以编辑图片大小的框
底层原理不知道 但是看起来是通过给img标题添加width 和height实现的

需求2 富文本解析 图片可放大

解析的话 就普普通通v-html 然后问题是这个图片放大 一开始想了一个很复杂的方式 然后因为太复杂了没去试验
v-html绑定的盒子给一个点击事件然后通过那个e能拿到点击发送的标签 然后通过里面的属性可以让我们知道点击的标签是什么 还能从这个对象身上拿到目标的src js真的yyds

 if (e.srcElement.nodeName == 'IMG') {
        this.$nextTick(() => {
          this.mshomeshowelimag[0] = e.srcElement.currentSrc
          this.msshowViewer = true
        })
      }
Vue Quill Editor是一个基于Quill富文本编辑器的Vue.js组件,它允许你在前端方便地添加富文本功能。如果你想要实现在其中实现图片放大缩小,通常可以借助HTML5的`<img>`标签以及JavaScript库,如Vue Zoom 图片放大插件。 以下是简单的步骤: 1. 首先,在Vue项目中安装`vue-zoom`库: ```bash npm install vue-zoom --save ``` 2. 在你的组件中引入并使用`<vue-zoom>`组件包裹图片: ```html <quill-editor> <div v-html="richText" class="ql-container"></div> <!-- 插入图片的地方 --> <vue-zoom :image-url="imageUrl"> <img :src="imageUrl" alt="图片描述"> </vue-zoom> </quill-editor> ``` 3. 将需要放大图片URL存储在`imageUrl`变量中,并绑定到`<img>`元素上。 4. 当用户点击图片时,你可以初始化`vue-zoom`并设置放大比例等配置: ```javascript data() { return { imageUrl: '', zoomInstance: null, } }, methods: { handleImageClick() { this.zoomInstance = new VueZoom(this.$refs.imageZoom, { // 设置初始缩放比例、最大缩放比例、鼠标滚轮事件等配置 scale: 1, maxScale: 2, onWheel: function(e) { /* ... */ }, }); } }, mounted() { if (this.imageUrl) { this.handleImageClick(); } }, destroyed() { if (this.zoomInstance) { this.zoomInstance.destroy(); } } ``` 5. 在Quill编辑器的内容变化时,更新`imageUrl`值,以便实时显示在编辑器内并响应放大缩小操作。 记得处理好图片加载失败等情况,并确保遵守Vue Quill Editor的API规则,特别是当图片是通过富文本插入时。
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值