Vorwort: Wenn wir Vue verwenden, verwenden und schreiben wir häufig einige benutzerdefinierte Plug-Ins und führen sie dann mit Nach dem Lesen dieses Artikels erfahren Sie:
Okay, ohne weitere Umschweife, fangen wir an! ! ! 1. Durchführung der Installation in Vuex&Vue-RouterHier sind zwei Fragen, über die Sie nachdenken sollten. Sie sind wie das Graben von Löchern. Ich werde sie unten einzeln beantworten:
Tatsächlich sind die Prinzipien beider gleich. Hier verwenden wir Klasse Router { Konstruktor(Optionen) { ... } } Router.install = Funktion(_Vue) { _Vue.mixin({ vorErstellen() { wenn (diese.$options.router) { _Vue.prototype.$router = diese.$options.router } } }) } Standardrouter exportieren;
Lassen Sie uns in diesem Fall ein mutiges Urteil fällen. Keine Sorge, wir haben gerade das erste Problem gelöst, jetzt füllen wir das zweite Loch. Normalerweise verwenden wir // router/index.js importiere VueRouter von „vue-router“; importiere Vue von „vue“; Vue.use(VueRouter); const _router = [ ... ] const Router = neuer VueRouter(_router); Standardrouter exportieren; // Haupt.js importiere Vue von „vue“; Router von „Router“ importieren; neuer Vue({ Router, ... }).$mount('#app'); Lassen Sie uns zunächst das ursprüngliche Beispiel analysieren.
beißen! ! ! Es wurden Elemente erkannt, also lasst uns eine kühne Vermutung anstellen. 2. Interne Implementierung der Installation in Vue Nachdem Sie die Verwendung der häufig verwendeten Bibliothek Exportfunktion initUse (Vue: GlobalAPI) { //Registriere eine auf der Instanz gemountete Use-Methode Vue.use = function (plugin: Function | Object) { // Array der aktuellen Plugins initialisieren const installedPlugins = (this._installedPlugins || (this._installedPlugins = [])) // Wenn dieses Plugin bereits registriert wurde, dann verarbeite es nicht if (installedPlugins.indexOf(plugin) > -1) { gib das zurück } ... // Jetzt kommt der Punkt! ! ! wenn (Typ des Plugins.install === 'Funktion') { // Wenn „install“ eine Funktion im Plugin ist, rufen Sie die Installationsmethode auf, zeigen Sie auf das Plugin und übergeben Sie eine Reihe von Parametern an plugin.install.apply(plugin, args). } sonst wenn (Typ des Plugins === 'Funktion') { // Wenn das Plugin selbst eine Funktion ist, behandeln Sie es als Installationsmethode, zeigen Sie auf das Plugin und übergeben Sie eine Reihe von Parametern an plugin.apply(null, args). } //Setze das Plugin in das Plugin-Array ein installedPlugins.push(plugin) gib das zurück } } Dieser Teil des Quellcodes ist sehr prägnant und gut lesbar. Das heißt, bei der Verwendung den Plugin-Typ bestimmen und Abschluss: Ich frage mich, ob Sie den Plug-In-Mechanismus von Vue besser verstehen? Tatsächlich können wir bei der Entwicklung von Plug-Ins Dies ist das Ende dieses Artikels über ein vertieftes Verständnis des Plug-In-Mechanismus und Das könnte Sie auch interessieren:
|
<<: Bei der Verwendung von mybatis-generator mit mysql8.0.3 in IDEA sind Fehler aufgetreten
>>: Ausführliche Erläuterung der gespeicherten MySQL-Prozeduren (in, out, inout)
Von NFS bereitgestellte Dienste Mounten: Aktivier...
Hintergrund PNG-Bilder benötigen mehr Speicherpla...
Die Bildintegrationstechnologie, die von YAHOO in...
Vorwort Manchmal habe ich das Gefühl, dass die na...
Früher bestand das Unterstreichen in HTML darin, ...
ElementUI implementiert ein Tutorial zum Laden vo...
1. Neuen Benutzer anlegen: 1. Führen Sie eine SQL...
SMIL fügt Unterstützung für Timing und Mediensync...
In diesem Artikel wird der spezifische Code von V...
<br />Worte sind das unvermeidliche Produkt ...
<br />Vor nicht allzu langer Zeit habe ich a...
1 Erstellen Sie einen Benutzer und geben Sie den ...
SQL implementiert Additions-, Subtraktions-, Mult...
Docker-Version 1.13.1 Problemprozess Ein MySQL-Co...
Wenn wir auf einen Fehler stoßen, denken wir oft ...