【问题标题】:Vue 3, what can be the cause of "Failed to resolve component" error?Vue 3,“无法解析组件”错误的原因是什么?
【发布时间】:2021-06-09 08:55:56
【问题描述】:

我正在尝试将一个组件包含到另一个组件中,但我在浏览器控制台中收到错误“无法解析组件:应用程序概览表”。

父组件“src/pages/ApplicationsOverview.vue”:

<template>
  <q-page class="flex flex-center">
    <applications-overview-table></applications-overview-table>
  </q-page>
</template>

<script>
import ApplicationsOverviewTable from '../components/application/OverviewTable.vue';

export default {
  name: 'ApplicationsOverviewPage',

  components: [ApplicationsOverviewTable],

  setup() {
    console.log('loading applications overview');

    return {};
  },
};
</script>

<style></style>

子组件“src/applications/OverviewTable.vue”:

<template>
  <div class="q-pa-md">
    <q-table title="Aanvragen" :rows="rows" :columns="columns" row-key="name" />
  </div>
</template>

<script>
const columns = [ ... ];
const rows = [ ... ];

export default {
  name: 'ApplicationsOverviewTable',
  setup() {
    return {
      columns,
      rows,
    };
  },
};
</script>

我可以看到正在加载父组件,因为控制台中正在显示控制台消息“正在加载应用程序概述”。
我还可以看到OverviewTable.vue 的路径是正确的,因为如果我更改路径,我会得到另一个错误。

我尝试将 &lt;applications-overview-table&gt; 更改为 &lt;ApplicationsOverviewTable&gt; 但这给了我同样的错误(当然标签名不同)。
我应该在模板中将CamelCase组件名称更改为dash-case,不是吗?

我做错了什么?

【问题讨论】:

    标签: vue.js vue-component vuejs3 vue-composition-api vue-sfc


    【解决方案1】:

    components 选项有一个对象作为值而不是数组,它应该是:

    components: {ApplicationsOverviewTable},
    

    这是 :

    的简写
    components: {
        ApplicationsOverviewTable : ApplicationsOverviewTable
     },
    

    【讨论】:

    • 经过两天的挣扎后,这个答案救了我。我需要为 .vue 文件打开更激进的 linter!
    猜你喜欢
    • 1970-01-01
    • 2012-06-28
    • 2021-09-21
    • 2021-12-03
    • 1970-01-01
    • 1970-01-01
    • 2021-05-07
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多