импортировать компоненты vue внутри других компонентов VueJs laravel - PullRequest
0 голосов
/ 10 апреля 2020

Я начинаю использовать vue js в моем Laravel проекте. Я установил все пакеты, но моя проблема заключается в том, что я пытаюсь вызвать компонент внутри другого компонента и запускаю следующую команду:

npm run dev

У меня возникла ошибка из веб-пакета.

Мой код:

родительский компонент TabelReception. vue:

<template>
<stats-card></stats-card>
    <table class="table">
        <tbody>
        </tbody>
    </table>
</template>
<script>
    import StatsCard from './StatsCard'
    Vue.component('StatsCard', StatsCard)
    export default {
        components: {
            'stats-card': StatsCard 
        }
    }
</script>

Скорый компонент StatsCard. vue:

<template>
<h2>
hi bro just a test 
</h2>
</template>
<script>
    export default {
    }
</script>

приложение. js:

import Vue from 'vue'
/**
 * The following block of code may be used to automatically register your
 * Vue components. It will recursively scan this directory for the Vue
 * components and automatically register them with their "basename".
 *
 * Eg. ./components/ExampleComponent.vue -> <example-component></example-component>
 */

// const files = require.context('./', true, /\.vue$/i)
// files.keys().map(key => Vue.component(key.split('/').pop().split('.')[0], files(key).default))

Vue.component('reception-table', require('./components/TableReception.vue').default);
Vue.component('stats-card', require('./components/StatsCard.vue').default);
/**
 * Next, we will create a fresh Vue application instance and attach it to
 * the page. Then, you may begin adding components to this application
 * or customize the JavaScript scaffolding to fit your unique needs.
 */

 const core = new Vue({
    el: '#core'
});

, пожалуйста, помогите.

Ответы [ 2 ]

1 голос
/ 10 апреля 2020

<template>
    <div>
        <stats-card>
        </stats-card>
    
        <table class="table">
    
    
            <tbody>
    
    
            </tbody>
        </table>
    </div>
</template>

<script>
import StatsCard from './statccard'


export default {
    components: {

        'stats-card': StatsCard
    }
}
</script>
the  template root on requires one ony one element but you have also iported the component wrongly
0 голосов
/ 10 апреля 2020

Компонент допускает только один элемент в разделе шаблона. Если вам нужно использовать несколько, оберните их div и сделайте их одинарными, например

<template>
  <div>
    <stats-card></stats-card>  
    <table class="table"> 
        <tbody>

        </tbody>
    </table>
  </div>  
</template>

. Вам не нужно использовать оба метода для регистрации компонента

<script>
   import StatsCard from './StatsCard'

   export default {
        components: {
          StatsCard
        }
    }
</script>
...