2017-01-04 4 views
8

Das mag eine wirklich dumme Frage sein, aber nichtsdestoweniger kann ich darauf keine Antwort finden.Wie man eine Vue-Komponente in eine Vue-Komponente "importiert"

Also baue ich eine Vue-Komponente und möchte auf vue-spinner 's Komponente (n) innerhalb meiner Komponente zugreifen. Wie würde ich das tun?

Hier sind Schnipsel des Codes in Frage:

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> 

Angenommen, vue-Spinner hat installiert (NPM) und dass die TeamPlayersComponent.vue ist gültig und funktioniert andere tha n gibt diesen Fehler in der Konsole:

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)

Ich bin mit Vue mit Laravel Elixir und Gulp.

+1

Haben Sie eine der vorgeschlagenen Methoden in der [Dokumentation] (https://github.com/greyby/vue-spinner#npm) ausprobiert. Bitte teile mit, was du bisher versucht hast. – Nora

+0

Frage aktualisiert, danke. – AshMenhennett

Antwort

4

Lösung:

Ersetzen Sie den GridLoader spezifischen Code in app.js (Laravel Setup) mit:

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

Arbeitete wie erwartet!

7

Sie können es erhalten, indem folgende:

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

und fügen Sie ihn in Komponenten:

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