vue.js - 在组件内部使用时未定义 Dropzone

标签 vue.js vuejs2 dropzone.js laravel-mix vue2-dropzone

我目前正在尝试将 vue2-dropzone 导入我的 Laravel 项目,因此它使用 Laravel mix。

我将其导入到 bootstrap.js 中,如下所示:

import vueDropzone from "vue2-dropzone";
Vue.component('vueDropzone', vueDropzone)

然后我希望能够在名为“CreatePersonalExpense.vue”的文件内的一个组件中使用。使用 Vue router 访问此组件。

下面是我的组件中如何使用它的片段:

<template>

<div class="form-row py-2">
    <div class="col-md-12">
        <h4>Upload</h4>
        <vue-dropzone v-on:vdropzone-sending="sendingFiles" id="drop1" ref="myVueDropzone" @vdropzone-complete-multiple="afterAllFilesUploaded" :options="dropOptions"></vue-dropzone>
    </div>
</div>

</template>

<script>
    export default {

        data() {
            return {
                type: "personal",
                id: "",
                total: "",
                files: {
                },
                dropOptions: {
                    url: '/api/expenses/files',
                    autoProcessQueue: false,
                    uploadMultiple: true,
                    headers: { "x-csrf-token": document.querySelector('meta[name="csrf-token"]').getAttribute('content') },
                    params: {}
                },
                errors: new Errors(),
                form: new Form(),
            }
        },

        components: {
            vueDropzone
        }
}
</script>

但是 dropzone 无法识别,我收到错误:

Uncaught ReferenceError :vueDropzone未定义

但是,如果我通过将 import vueDropzone from "vue2-dropzone"; 放在脚本标记的开头,将 dropzone 直接导入到此 Vue 组件中,则 dropzone 可以正常工作。为什么我不能将它包含在 bootstrap.js 文件中并让它在那里工作?

最佳答案

如果您已经在 bootstrap.js 中注册了 vueDropzone,则无需在组件中再次注册。您应该在 CreatePersonalExpense.vue

中删除它
components: {
  vueDropzone
}

vueDropzone 是一个 undefined variable 。只需删除它,它就应该可以工作。

关于vue.js - 在组件内部使用时未定义 Dropzone,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54764628/

相关文章:

css - Vue.js 元素中重复 "Unknown at rule @apply css(unknownAtRules)"错误

vue.js - 使用 vuex-map-fields 映射计算字段

javascript - 如何检测是否为 div 启用了显示更多?

带参数的javascript匿名函数调用

javascript - 如何在 Vue 应用程序(使用 Vuetify.js)中实现带验证的简单表单?

javascript - 如何阻止模态直到 api 请求得到解决

javascript - 在 Vuetify 中折叠展开的 v-data-table 时触发方法

Vue.js 1.x 与 Vue.js 2.x 表格渲染和字段焦点

javascript - $_FILES 在使用 HTML Form 和 Dropzone JS 时返回空

javascript - Dropzone.js - 在多个文件上传时仅多次上传 1 个文件