Heim > Web-Frontend > View.js > Hauptteil

Wie aktualisiert vue.js die Webseite regelmäßig?

coldplay.xixi
Freigeben: 2020-11-17 18:14:19
Original
3300 Leute haben es durchsucht

Vue.js-Methode zum regelmäßigen Aktualisieren der Webseite: 1. Führen Sie die Funktion [setTimeout(function(){}, Millisekunden)] aus. 2. Führen Sie eine Operationsfunktion aus, um die Schnittstellendaten abzurufen, bevor Sie den Timer ausführen.

Wie aktualisiert vue.js die Webseite regelmäßig?

【Empfohlene verwandte Artikel: vue.js

vue.js So aktualisieren Sie Webseiten regelmäßig:

js hat zwei rs

  • setInterval(function(){}, Millisekunden) – Die Funktion wird kontinuierlich aufgerufen

  • setTimeout(function(){}, Millisekunden) – Die Funktion wird nur einmal ausgeführt

Auf den ersten Blick setInterval Es wird unseren Geschäftsanforderungen gerecht, aber wir müssen auch auf einige Fallstricke achten. Die einfache Verwendung von setInterval führt zum Einfrieren der Seite! Der Grund hängt mit dem JS-Engine-Thread zusammen: setInterval löscht die Timer-Warteschlange nicht. Jede wiederholte Ausführung führt dazu, dass sich der Timer überschneidet und Ihre Webseite schließlich einfriert.

Aber setTimeout verfügt über einen klaren Timer, daher lautet die richtige Lösung wie folgt:

data(){
  return {
       timer:null, //定时器名称
    }
},
mounted(){
   this.queryInfo();
   this.timer = setInterval(() => {
       setTimeout(this.queryInfo, 0)
   }, 1000*60)
},
methods: {
   queryInfo(){
    //do something
   },
},
beforeDestroy(){
   clearInterval(this.timer);        
   this.timer = null;
}
Nach dem Login kopieren

Anweisungen: 1. Führen Sie die Operationsfunktion aus, um die Schnittstellendaten zu erhalten, bevor Sie den Timer ausführen, andernfalls wird die Schnittstelle nach 1 Minute aufgerufen

2. Um zu vermeiden, dass nach dem Verlassen der aktuellen Seite weiterhin Schnittstellen auf anderen Seiten aufgerufen werden, muss der Timer vor dem Beenden gelöscht werden

Dieser Timer muss in dieser Komponenteninstanz gespeichert werden. Wenn möglich, ist es am besten, dass nur Lebenszyklus-Hooks darauf zugreifen können. Dies ist kein ernstes Problem, kann aber als Unordnung angesehen werden.

Unser Build-Code ist unabhängig von unserem Bereinigungscode, was es für uns schwieriger macht, alles, was wir erstellen, programmgesteuert zu bereinigen.

  • Optimierungslösung:

    Verwenden Sie
  • diesen Ereignis-Listener, um die Timing-Position nach dem Timer zu definieren um den Timer zu löschen.
  • const timer = setInterval(() =>{                    
        // 某些定时器操作                
    }, 500);            
    // 通过$once来监听定时器,在beforeDestroy钩子可以被清除。
    this.$once('hook:beforeDestroy', () => {            
        clearInterval(timer);                                    
    })
    Nach dem Login kopieren

    Verwandte kostenlose Lernempfehlungen: Javascript(Video)

    Das obige ist der detaillierte Inhalt vonWie aktualisiert vue.js die Webseite regelmäßig?. 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
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!