首页 > 解决方案 > [Vue 警告]:无法挂载组件:未定义模板或渲染函数。-vue-simple-uploader

问题描述

我的组件如下所示。

<template>
            <uploader class="uploader-example">
                <uploader-unsupport></uploader-unsupport>
                <uploader-drop>
                    <p>Drop files here to upload or</p>
                    <uploader-btn>select files</uploader-btn>
                    <uploader-btn :directory="true">select folder</uploader-btn>
                </uploader-drop>
                <uploader-list></uploader-list>
            </uploader>

</template>

<script lang="ts">
    import { Component, Vue } from 'vue-property-decorator';
    import uploader from 'vue-simple-uploader';
    @Component({
        components: {
            Uploader: uploader,
        },
    })
    export default class In extends Vue {

    }
</script>

我的 shims-vue.d.ts 文件如下所示:

declare module '*.vue' {
  import Vue from 'vue';
  export default Vue;
}

declare module 'vue-simple-uploader';

使用上面的代码,我得到以下错误:

[Vue 警告]:无法挂载组件:未定义模板或渲染函数。

并且上传器组件也没有被渲染。

我用过下面的包。

https://github.com/simple-uploader/vue-uploader

标签: typescriptvue.jsvuejs2

解决方案


您错误地绑定了库——它是作为Vue 插件编写的,而不是作为独立组件编写的。

项目自述文件中概述了正确的用法:

// main.ts
import Vue from 'vue'
import uploader from 'vue-simple-uploader'

Vue.use(uploader)

无需进一步导入作为子组件,因为它已在全球范围内注册。这不是好的做法,但它是组件的编写方式。


推荐阅读