Heim > Web-Frontend > js-Tutorial > Fügen Sie Ladeaufforderungen hinzu, wenn Sie den Vue-Router langsam laden, um die Benutzererfahrung zu verbessern

Fügen Sie Ladeaufforderungen hinzu, wenn Sie den Vue-Router langsam laden, um die Benutzererfahrung zu verbessern

php中世界最好的语言
Freigeben: 2018-04-08 11:39:51
Original
3330 Leute haben es durchsucht

Dieses Mal werde ich Ihnen vorstellen, wie Sie beim langsamen Laden des Vue-Routers Ladeaufforderungen hinzufügen, um die Benutzererfahrung zu verbessern. Welche Vorsichtsmaßnahmen können beim verzögerten Laden des Vue-Routers hinzugefügt werden, um die Benutzererfahrung zu verbessern? . Das Folgende sind praktische Fälle, schauen wir uns das an.

Jeder, der den Vue-Router verwendet hat, weiß, dass er das verzögerte Laden von Modul-JS implementieren kann, dh die JS-Skriptdatei des entsprechenden Moduls nur bei Bedarf laden kann, um die Anzeige der Homepage zu beschleunigen. Beispielsweise wird die js-Komponente des Moduls „Benutzerinformationen“ nur heruntergeladen, wenn ein Benutzer zum ersten Mal auf eine Schaltfläche oder ein Menü „Benutzerinformationen“ klickt.

Die Implementierung von Lazy Loading basiert auf der Funktion des AMD-Modus requireFunktion unter Webpack. Webpack generiert eine unabhängige JS-Datei aus der asynchronen Anforderungsdatei. Beim Aufruf lädt es das JS asynchron herunter und führt es nach Abschluss aus. Der im Entwicklungsprojekt implementierte Schlüsselcode lautet:

const basicInfo = {
  path: '/user',
  component: resolve => require(['./basicInfo.vue'], resolve) 
}
//然后将这个basicInfo加入路由表中
Nach dem Login kopieren

Hier gibt es jedoch ein Problem: Vom Klicken des Benutzers auf das Menü „Benutzerinformationen“ bis zum Herunterladen der js-Datei und ausgeführt. Beim Herunterladen von js aus dem Internet reagiert die Benutzeroberfläche überhaupt nicht, was dazu führt, dass Benutzer das Gefühl haben, dass das Klicken darauf wirkungslos ist und sie häufig erneut klicken. Dies gilt insbesondere, wenn die JS-Datei groß und die Netzwerkgeschwindigkeit langsam ist. Daher ist es notwendig, in diesem Prozess eine Loading-Ladeaufforderung hinzuzufügen.

Lassen Sie uns diese Codezeile analysieren:

resolve => require(['./basicInfo.vue'], resolve)
Nach dem Login kopieren

Es handelt sich um eine Funktion, die den Anforderungsprozess ausführt und nach Abschluss die Rückruffunktion „resolve“ aufruft. Wir müssen es nur kapseln, Loading anzeigen, bevor die Anforderung ausgeführt wird, und Loading dann ausblenden, wenn der Ladevorgang abgeschlossen und der Rückruf ausgeführt wird, und diese Anforderung wird erfüllt. Wie folgt:

const basicInfo = {
  path: '/user',
  component: resolve => {
    [显示Loading]
    require(['./basicInfo.vue'], component => {
      [隐藏Loading]
      resolve(component)
    })
  }
};
Nach dem Login kopieren
Das Ein- und Ausblenden des Ladecodes kann entsprechend Ihrem eigenen UI-Framework gehandhabt werden. Zum Beispiel element-ui:

import { Loading } from 'element-ui';
var unique;
export default {
  show() {
    let opt = {body: true, text: 'Loading...'};
    if(!unique) unique = Loading.service(opt);
  },
  resolve(resolve) {
    return function (component) {
      if (unique) {
        unique.close();
        unique = null;
      }
      resolve(component)
    }
  }
}
const basicInfo = {
  path: '/user',
  component: resolve => {
    spinRoute.show();
    require(['./basicInfo.vue'], spinRoute.resolve(resolve))
  }
};
Nach dem Login kopieren
Ich glaube, dass Sie die Methode beherrschen, nachdem Sie den Fall in diesem Artikel gelesen haben. Weitere spannende Informationen finden Sie in anderen verwandten Artikeln auf der chinesischen PHP-Website!

Empfohlene Lektüre:

So führen Sie die Tencent-Verifizierungscodefunktion in das Vue-Projekt ein

So konvertieren Sie die ES6-Klassensyntax in Babel

So verwenden Sie Vue CLI, um webapck4 zu aktualisieren

Das obige ist der detaillierte Inhalt vonFügen Sie Ladeaufforderungen hinzu, wenn Sie den Vue-Router langsam laden, um die Benutzererfahrung zu verbessern. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage