Das ist einfach genug, aber ich bekomme keine Antwort aus der Dokumentation. Ich bin dabei, Vue.js zu lernen, und ich verstehe nicht wirklich, wo Vue.extend passt. Ich bekomme Vue.component, aber ich sehe nicht, was Vue.extend tut, was Vue.component nicht tut . Ist es nur ein Legacy-Feature von 1.0? Wenn nicht, wo ist es in Vue 2.0 nützlich?Was ist Vue.extend für?
Antwort
Ich denke, die Verwirrung ist, weil & Komponente erweitern eng verbunden sind. So erstellen Sie eine Komponente Vue Anrufe erweitern intern:
// register an options object (automatically call Vue.extend)
Vue.component('my-component', { /* ... */ })
Daher können Sie erweitern verwenden, um eine Unterklasse der Basis Vue Konstruktor zu montieren (eine Komponente Konstruktor): https://vuejs.org/v2/api/#Vue-extend
Allerdings werden Sie kaum über oder Notwendigkeit kommen auf diese Straße gehen. Stattdessen verwenden Sie Komponenten, um benannte Unterklassen zu erhalten, die Sie in Ihrer Anwendung leicht referenzieren können.
Deshalb verlängern ist nicht wirklich ein „Erbe“ -Funktion, um es zu Vue Komponenten ist von zentraler Bedeutung, aber der Zusatz von Zucker, die Komponenten liefern sie den Standard-Weg machen Sie arbeiten werden.
Es führt in früheren Vuejs.org Website hatte ein Dokument.
Kopie von http://optimizely.github.io/vuejs.org/guide/composition.html, die von vuejs/Vuejs.org bei Version 0.10.6 von Vuejs gespalten ist.
Es ist wichtig, den Unterschied zwischen
Vue.extend()
undVue.component()
zu verstehen. DaVue
selbst ein Konstruktor ist, istVue.extend()
eine Klassenvererbung Methode. Seine Aufgabe ist es, eine Unterklasse vonVue
erstellen und den Konstruktor zurückgeben.Vue.component()
, auf der anderen Seite ist eine Asset-Registrierung Methode ähnlich wieVue.directive()
undVue.filter()
. Seine Aufgabe ist es einen bestimmten Konstruktor mit einem String-ID zugeordnet werden, so Vue.js es bis in Vorlagen auswählen können. Wenn die Optionen direkt anVue.component()
übergeben werden, ruft sieVue.extend()
unter der Haube auf.Vue.js unterstützt zwei verschiedene API-Paradigmen: die klassenbasierte, zwingend notwendig, Backbone-Stil-API und die Markup-basierte, deklarativen, Web Komponenten Stil API. Wenn Sie verwirrt sind, darüber nachdenken, wie können Sie mit
new Image()
ein Bildelement erstellen, oder mit einem<img>
-Tag. Jeder ist in seinem eigenen Recht nützlich und Vue.js versucht, beide für maximale Flexibilität bereitzustellen.
- 1. Was ist für Python was "explodieren" ist für PHP?
- 2. Was ist Automapper für?
- 3. Was ist stripslashes für?
- 4. Was ist app.config für?
- 5. Für was ist __gxx_personality_v0?
- 6. Was ist NuGetPackageImportStamp für?
- 7. Was ist ApplicationDomain.domainMemory für?
- 8. Was ist .pydistutils.cfg für?
- 9. Was ist xcLanguageSpecificationIdentifier für?
- 10. Was ist Device.BeginInvokeOnMainThread für?
- 11. .designer.cs für was ist es?
- 12. Was ist der keyCode für "$"?
- 13. Was ist Control.Applicative.Lift nützlich für?
- 14. Was ist das "aws_security_token" für
- 15. Bash-Skript Was ist: = für?
- 16. Für was ist das AttachEvent
- 17. PyOpenCL: Was ist Event.wait() für?
- 18. Offiziell, was ist Typname für?
- 19. Was ist Subject.asObservable gut für?
- 20. Was ist sql-dump für?
- 21. Was ist für dist erforderlich?
- 22. Was ist "path_to_stub_class" für ParparVM?
- 23. Für was ist AspectJ gut?
- 24. Was ist jQuery für Document.createElementNS()?
- 25. Parcelable, für was ist newArray?
- 26. Was ist "für" in Ruby
- 27. Für was ist generator.throw() gut?
- 28. Was ist Regex für Währungssymbol?
- 29. Was für ein Wolkenjunge ist
- 30. Was ist Metamodel API für
http://stackoverflow.com/questions/31709462/how-to-e-tend-a-vuejs-with-a-method –