返回

javascript-当newValue是相同的字符串时,如何启动Watcher?

发布时间:2022-09-01 09:47:29 307
# 前端

我通过将它们分配给反应对象并将观察者指向它来插入base64 images编辑器。问题是当我想两次插入相同的图像时,观察者不会触发。base64 stringstate.image

watcher:

const renderImage = (editor) => {

    const unwatch = watch(() => state.image, () => {

        console.log('watcher fires!')

        editor.chain().focus().setImage({ src: state.image }).run()

        unwatch()

        state.image = null

    })

}

正如你所看到的,我试图杀死观察者unwatch()并且另外设置state.image = null,但是当加载相同的图像时它仍然不会触发。

该@click事件在此元素中触发:

<button  @click="$refs.image.click(); renderImage(editor)"></button>

<input type="file" ref="image" style="display: none" @change="getImageUrl">

并且dataUrl图像的创建于getImageUrl:

const getImageUrl = (event) => {

    const files = event.target.files;

    if (!files.length)

        return;

    const reader = new FileReader();

    reader.onload = (event) => {

        state.image = event.target.result;

    };

    reader.readAsDataURL(files[0]);

}

这两个元素似乎都按预期工作。

我如何让守望者开火?

特别声明:以上内容(图片及文字)均为互联网收集或者用户上传发布,本站仅提供信息存储服务!如有侵权或有涉及法律问题请联系我们。
举报
评论区(1)
按点赞数排序
用户头像