我有一个带vue的嵌套结构:
<app>
<column> : [array]
<task> : [array]
<resource> : [array]
我也使用单个文件组件。
对于<app>
组件,它看起来像这样(/App.vue
文件)
<template>
<div id="app">
<column v-for=""></column>
</div>
</template>
<script>
import column from './components/Column'
export default {
name: 'project',
components: {
column
},
data () {
return {
}
}
}
</script>
<column>
组件(/components/Column.vue
文件):
<template>
<div>
<task v-for=""></task>
</div>
</template>
<script>
import task from './Task'
export default {
name: 'column',
components: {
task
},
data () {
return {
}
}
}
</script>
<task>
组件(/components/Task.vue
文件):
<template>
<div>
<resources></resources>
</div>
</template>
<script>
import { resources } from './Init-resource'
export default {
name: 'task',
components: {
resources
},
data () {
return {
}
}
}
</script>
直到这一刻,一切都完美无瑕。该应用程序呈现一堆列,并在列内部呈现任务。
但接着是另一层<resource>
,看起来像这样(/components/Init-resource.vue
文件):
<template>
<div>
<select>
<option v-for=""></option>
</select>
</div>
</template>
<script>
export default {
name: 'resources',
data () {
return {
}
}
}
</script>
我收到此错误:
vue.common.js?e881:509 [Vue warn]: Unknown custom element: <resources> - did you register the component correctly? For recursive components, make sure to provide the "name" option.
(found in component <task>
它无法识别最后一个<resource>
组件。但一切看起来都很好,导入正确,模板返回组件......
答案 0 :(得分:4)
我找到了。我使用了命名导入,所以不用这个:
import { resources } from './Init-resource'
它应该是这样的:
import resources from './Init-resource'