typescript - [Vue 警告] : Failed to mount component: template or render function not defined. -vue-simple-uploader

标签 typescript vue.js vuejs2

我的组件如下所示。

<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 warn]: 挂载组件失败:未定义模板或渲染函数。

而且 uploader 组件也没有被渲染。

我使用了下面的包。

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

最佳答案

你绑定(bind)的库不正确——它写成 Vue plugin ,而不是作为一个独立的组件。

the project readme 中概述了正确的用法:

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

Vue.use(uploader)

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

关于typescript - [Vue 警告] : Failed to mount component: template or render function not defined. -vue-simple-uploader,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55957562/

相关文章:

javascript - 响应式(Reactive)表单还是模板表单?

javascript - 模板中的 VueJS 绑定(bind)类不起作用

css - 导入样式文件没有作用域?

javascript - 从持久性存储中重新存储存储后,Vuex getter不会更新

javascript - 将类型化数组作为 any[] 传递?

javascript - Angular 7,没有 NgModel 如何获取复选框状态(真/假)?

visual-studio-2012 - 如何在 Visual Studio 2012 中包含 TypeScript 文件并编译整个文件?

vue.js - 多页应用程序 VueJs

javascript - Vue Transition - 动画延迟表现得很奇怪/不起作用

javascript - 如何将索引/键值设置为 1 而不是 0