[Vue warn]: ошибка в обработчике события для «upload-success»: «TypeError: fns.apply не является функцией» - PullRequest
0 голосов
/ 23 января 2019

Я использую этот плагин для загрузки изображений.Но я получаю эти ошибки

[Vue warn]: ошибка в обработчике события для «upload-success»: «Ошибка типа: fns.apply не является функцией», найденная в ---> вnode_modules / vue-upload-множественные изображения / src / components / VueUploadMultipleImage.vue в assets / frontend / js / components / VueUploadMultipleImages.vue

Вот мой код,

<template>
    <div class="vue-upload-multiple-image" style='display: flex; justify-content: left;'>
        <vue-upload-multiple-image
                @upload-success='uploadImageSuccess'
                @before-remove='beforeRemove'
                @edit-image='editImage'
                @data-change='data_change'
                :dragText="dragText"
                :browseText="browseText"
                :dropText="dropText"
                :markIsPrimaryText="markIsPrimaryText"
                :popupText="popupText"
                :primaryText="primaryText"
                :data-images='images'>
        </vue-upload-multiple-image>
    </div>
</template>

<script>
    import VueUploadMultipleImage from 'vue-upload-multiple-image'
    import axios from 'axios'

    export default {
        name: 'uploader',
        data: function () {
            return {
                dragText: dragText,
                browseText: browseText,
                primaryText: primaryText,
                markIsPrimaryText: markIsPrimaryText,
                popupText: popupText,
                dropText: dropText,
                maxImage: maxImage,
                showPrimary: showPrimary,
                accept: 'image/gif,image/jpeg,image/png,image/bmp,image/jpg',
                dataImages: [],
                multiple: true,
                images: [],
                uploadImageSuccess : '',
                beforeRemove: '',
                editImage : '',
            }
        },
        components: {
            VueUploadMultipleImage
        },
        methods: {
            data_change(data) {
                console.log(data);
                alert('asasa');
            }
        }
    }

new Vue({
    el: "#car-image-upload",
    components: {
        'uploader': VueUploadMultipleImages
    },
})
</script>

<div id="car-image-upload"><uploader></uploader></div>

1 Ответ

0 голосов
/ 23 января 2019

Ваш uploadImageSuccess задан как строка, а не как метод. Вы получаете сообщение об ошибке, потому что компонент vue-upload-multip-image пытается вызвать его как функцию.

Добавьте метод к вашему компоненту для обработки успешной загрузки изображения:

...

methods: {
  uploadImageSuccess(formData, index, fileList) {
    // Do whatever you need here
  }
},

...

Примечание: вы должны сделать то же самое с beforeRemove и editImage

Надеюсь, это поможет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...