使用 vue-property-decorator 时注册本地组件

Posted

技术标签:

【中文标题】使用 vue-property-decorator 时注册本地组件【英文标题】:Register local component when using vue-property-decorator 【发布时间】:2019-12-17 15:55:06 【问题描述】:

刚刚学习了Vue和TypeScript的类组件,我的单文件组件是这样的:

<template>
    ...
    <div>
        <contact-component v-bind:key="c.id" v-for="c in contacts">
        </contact-component>
    </div>
</template>

<script lang="ts">
import ContactComponent from "./Contact.vue";
import  Component, Vue  from 'vue-property-decorator'

@Component
export default class ContactsComponent extends Vue 
    data() ...
    components =  ContactComponent 

</script>

它会产生以下错误:

未知的自定义元素: - 您是否注册了 组件正确吗?

显然我的组件注册不起作用,但我不知道如何在 TypeScript 中解决这个问题。注册ContactComponent以便在上面的模板中使用的正确方法是什么?

【问题讨论】:

【参考方案1】:

喜欢这个


@Component(
  components:  ContactComponent 
)
export default class ContactsComponent extends Vue 

【讨论】:

是否有任何文档可以让我自己解决这个问题? 也许是 Github 中的示例。 github.com/vuejs/vue-class-component/blob/master/example/src/… 。这不是明确的

以上是关于使用 vue-property-decorator 时注册本地组件的主要内容,如果未能解决你的问题,请参考以下文章

Vue 3 + vue-property-decorator 的“超级表达式必须为 null 或函数”

vue-property-decorator使用手册

使用 vue-property-decorator 时注册本地组件

如何使用 ts 和 vue-property-decorator 热重载组件

Vuex 和 vue-property-decorator 与 $store 的反应性

装饰器vue-property-decorator