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

Ach*_*him 9 typescript vue.js

刚刚通过基于类的组件学习 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>
Run Code Online (Sandbox Code Playgroud)

它生成以下错误:

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

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

Jac*_*Goh 11

像这样


@Component({
  components: { ContactComponent }
})
export default class ContactsComponent extends Vue {}
Run Code Online (Sandbox Code Playgroud)