首页 文章

VueJS在单个文件组件中具有嵌套模板的未知自定义元素

提问于
浏览
2

我有一个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> 组件 . 但一切看起来都很好,导入正确,组件返回模板...

1 回答

  • 4

    我找到了 . 我使用了命名导入,所以不是这样的:

    import { resources } from './Init-resource'
    

    它应该是这样的:

    import resources from './Init-resource'
    

相关问题