Ich benutze vue-loader (http://vuejs.github.io/vue-loader/start/spec.html), um meine *.vue
Single-File-Komponenten zu erstellen, aber ich habe Probleme mit dem Prozess von einer Komponente aus einer einzigen Datei von einem anderen zu erweitern.Wie erweitere ich eine andere VueJS-Komponente in einer einzelnen Dateikomponente? (ES6 vue-loader)
Wenn eine Komponente die Spezifikation zu export default { [component "Foo" definition] }
folgt, würde ich denke, es ist nur eine Frage, diese Komponente zu importieren (wie ich bei jeder anderen Kind-Komponente) und dann export default Foo.extend({ [extended component definition] })
Leider funktioniert das nicht. Kann mir jemand bitte einen Rat geben?
Dies ist eine coole Idee, froh, dass du es herausgefunden habe. Ich kann mir vorstellen, dass dies an einigen Orten besser wäre als Mixins – Jeff
Genau das, was ich gesucht habe, danke. Dies ist eine bessere Antwort als die angenommene Lösung IMO, da eine ganze Komponente nicht gemischt werden kann, da dies die Wahrscheinlichkeit einer Namenskollision stark erhöhen würde. Mixin sollte auf einen kleineren gemeinsamen Code beschränkt sein. – Kashif
Das funktionierte für mich, aber ich musste aufpassen, Funktionen zu überschreiben. Zum Beispiel Lifecycle-Anrufe wie mounted wurden nicht überschrieben, seltsamerweise wurden beide aufgerufen: es und seine super. Aber Funktionen, die in Methoden deklariert wurden, wurden überschrieben. Also bewegte ich Logik, die in Methoden überschrieben werden musste und rief sie aus dem Lifecycle-Aufruf. – yeahdixon