Javascript Can';t在Vue.js中本地注册组件&引用;[Vue warn]:未知自定义元素“;

Javascript Can';t在Vue.js中本地注册组件&引用;[Vue warn]:未知自定义元素“;,javascript,vue.js,Javascript,Vue.js,在Vue.js应用程序中本地注册组件时出现问题。 我正在尝试在它的父MainView.vue中使用MovieCard.vue。 将所有内容都设置为Vue文档中的内容,但仍会出现以下错误: [Vue warn]: Unknown custom element: <movie-card> - did you register the component correctly? For recursive components, make sure to provide the "name

在Vue.js应用程序中本地注册组件时出现问题。 我正在尝试在它的父MainView.vue中使用MovieCard.vue。 将所有内容都设置为Vue文档中的内容,但仍会出现以下错误:

 [Vue warn]: Unknown custom element: <movie-card> - did you register the component correctly? For recursive components, make sure to provide the "name" option.

found in

---> <MainView> at src\components\MainView.vue
       <VApp>
         <App> at src\App.vue
           <Root>
[Vue warn]:未知自定义元素:-您是否正确注册了组件?对于递归组件,请确保提供“name”选项。
发现于
--->位于src\components\MainView.vue
在src\App.vue
下面是MovieCard.vue(子组件)的代码


导出默认值{
名称:“电影卡”,
道具:[“电影信息”],
数据(){
返回{
可见:假
}
},
创建(){
log(“Info:,this[“movie Info”])
}
}
对于MainView.vue(父组件):


流行的
即将到来的
一流的
从“vuex”导入{mapState、mapActions、MapTranslations};
从“vue无限加载”导入无限加载;
从“/MovieCard”导入MovieCard
控制台日志(电影卡)
导出默认值{
名称:“MainView”,
组件:{MovieCard},
数据(){
返回{
chosenCategory:“流行”
}
},
计算:{
…地图状态([
“电影”
])
},
方法:{
…映射操作([
“getNextPageByCategory”,
“设置类别”
]),
异步无限句柄($state){
等待这个.getNextPageByCategory(这个.chosenCategory);
$state.loaded();
控制台日志(“yay”);
},
…MAP突变([]))
},
组成部分:{
无限阅读
}
}
此外,我还注意到,如果我将同一组件放入App.vue根组件中,它将按预期工作(与在App.vue(例如MainView.vue)中本地注册的任何其他子组件一样)

此外,我要说的是,我正在我的应用程序中使用Vuex和Vuetify

试图解决这个问题几个小时,但目前没有结果


提前感谢您的帮助

尝试在
MainView
中定义组件,如下所示:

components: {
  'movie-card': MovieCard
}

编辑:可能是因为您在OP问题中定义了两次组件,他在
MainView.vue
中错误地定义了两次
components
,因此后者的
components
覆盖了第一个组件,即声明的
电影卡
组件,因此只有

components: {
  InfiniteLoading
}
是当天结束时的有效注册组件

components: {MovieCard},
被推翻


今天,我也经历了同样的事情

Unknown custom element: <movie-card> - did you register the component correctly? For recursive components, make sure to provide the "name" option.
如果您阅读,请注意答案是他的编辑



顺便说一句,我认为问题与递归组件有关,因此我确保提供了“name”选项,但正如您所看到的,它与
“name”选项无关,因为
电影卡不是递归组件。在我的例子中,我通过添加一个字符
s
,解决了我的问题,没有任何
名称

已经尝试过了。没有结果。还尝试将MovieCard.vue中的名称更改为“movie card”。@sovalina是正确的,您在MainView中定义了两次组件,尝试只执行一次,例如:组件:{‘movie card’:MovieCard,‘无限加载’:无限加载}成功了!非常感谢你!!!你救了我几个小时的命:)愚蠢的错误,但现在在js中创建对象时,还有一件事需要注意,hahain MainView.vue(父组件)你有两个组件对象。那就是你发布了AKS,对我来说也是一样,我声明的是组件内容而不是组件
components: {MovieCard},
Unknown custom element: <movie-card> - did you register the component correctly? For recursive components, make sure to provide the "name" option.
components: {
  'movie-card': MovieCard 
}
// the above is the same at the below in Vue
components: {
  MovieCard
}