2017-01-04 22 views
8

To może być naprawdę głupie pytanie, ale jednak coś, na co nie mogę znaleźć odpowiedzi.Jak "importować" komponent Vue do komponentu Vue

Tak więc buduję komponent Vue i chciałbym uzyskać dostęp do komponentu vue-spinner w moim komponencie. Jak to zrobić?

Oto fragmenty kodu w pytaniu:

app.js:

Vue.component('players', require('./components/TeamPlayersComponent.vue')); 

import GridLoader from 'vue-spinner/src/GridLoader.vue'; 

const app = new Vue({ 
    el: '#app', 
    components: { 
     GridLoader 
    } 
}); 

TeamPlayersComponent.vue:

<grid-loader></grid-loader> 

Załóżmy, że vue-spinner został zainstalowany (NPM) i że TeamPlayersComponent.vue jest ważny i działa w inny sposób n daje ten błąd w konsoli:

vue.js?3de6:525 [Vue warn]: Unknown custom element: <grid-loader> - did you register the component correctly? For recursive components, make sure to provide the "name" option. (found in component <players> at /home/vagrant/code/rounds-smaa/resources/assets/js/components/TeamPlayersComponent.vue)

Używam Vue z laravel Elixir i Gulp.

+1

Wypróbowałeś którąś z sugerowanych metod w [dokumentacji] (https://github.com/greyby/vue-spinner#npm). Podziel się tym, co wypróbowałeś do tej pory. – Nora

+0

Pytanie zaktualizowane, dziękuję. – AshMenhennett

Odpowiedz

4

Rozwiązanie:

Wymień GridLoader specyficzny kod w app.js (Setup laravel) z:

Vue.component('grid-loader', require('vue-spinner/src/GridLoader.vue'));

Pracowałem zgodnie z oczekiwaniami!

7

Można ją uzyskać poprzez następujące:

var PulseLoader = require('vue-spinner/src/PulseLoader.vue'); 

i dodać go w składnikach

new Vue({ 
    components: { 
    'PulseLoader': PulseLoader 
    } 
})