Heim > Web-Frontend > js-Tutorial > Hauptteil

30.05.2020 – Axios-Dateninteraktion und Select-All-Multi-Thinking-Erweiterung

A 枕上人如玉、
Freigeben: 2020-05-30 16:10:10
Original
183 Leute haben es durchsucht

> app.js

# Wichtige Punkte:

Drei Möglichkeiten, dieses Zeigeproblem zu lösen

Die Verwendung von ES6-Pfeilfunktionen

3.Ternäre Operation statt if else

4.forEach-Traversal-Methode

5.Verwendung der JSONPlaceholder-Test-API

# Funktionsimplementierung

1 .Wählen Sie alle Multi-Thinking-Erweiterungen aus

2. Schließen Sie abschließend die Optimierung mit zwei Codezeilen ab

```

window.onload = function(){

//Der erste Weg

//var vm = new Vue({ //Globales Instanziierungsobjekt

var vm = new Vue({

el: "# app",

data:{

listen:[],

checkAll:false, //Alle Status auswählen

check:false,

},

Methoden:{

// ES5-Schreibmethode

getLists:function(){

//Zweiter Weg (Die am häufigsten verwendete Methode im eigentlichen Projektentwicklungsprozess)

//Definieren Sie dies im Voraus

//Grund: „Das ändert sich ständig. Im Allgemeinen zeigt derjenige, der dies aufruft, auf „Wer““

var self = this;

axios({

methoden:"get", //get post put delete | Abfrage hinzufügen ändern löschen

url :"http://jsonplaceholder.typicode.com/users", //Schnittstellenadresse

// }).then(function(res){ // Anfrage erfolgreich

/ / Die dritter Weg

// Grund: „In ES6 zeigt die Pfeilfunktion auf den Definierer, der definiert, auf wen dies zeigt“

}).then(res=>{ // Anfrage erfolgreich

console.log(res);

// Daten können aufgrund dieses Zeigeproblems nicht normal gerendert werden

this.lists = res.data; / Daten rendern

// Lösung

// Erster Weg

//vm.lists = res.data; // Daten rendern

/ / Zweiter Weg

// self.lists = res.data;

}).catch(function(error){ // Anfrage fehlgeschlagen

console.log (Fehler) ;

})

},

// ES6-Schreibmethode

changeCheckAll(){ //Trigger select all

/ / Gewöhnlich für Traversal-Methode

// for( var i=0;i

// this.lists[i].check = this. checkAll;

// };

// Fortgeschrittenere forEach-Traversal-Methode

// Dies weist auf den Grund hin, warum die Synchronisierung nicht durchgeführt werden kann

/ / this.lists.forEach(function(item,index){

this.lists.forEach(item=>{

item.check = this.checkAll;

});

},

curChange(){

// 1. Anzahl der geprüften Unteroptionen

// filter() Methode Filter

// var num = this.lists.filter(function(item){

// return item.check == true

// }).length;

// ES6-Pfeilfunktion

// var num = this.lists.filter(item => item.check).length;

// console.log(num);

// 2. Urteilsnummer == 10 Alle auswählen und aktivieren !=10 Alle auswählen und deaktivieren

// if(num == this.lists.length){

// this.checkAll = true;

// }else{

// this.checkAll = false;

// };

// Ternäre Operation statt if else

// num == this.lists.length ? this.checkAll = true : this.checkAll = false ;

// Every() optimieren, um true false zurückzugeben

// this.checkAll = this.lists.every(function(item){

// item zurückgeben. check ;

// })

// Verwendung der ES6-Pfeilfunktion

this.checkAll = this.lists.every(item=>item.check);

}

},

mounted:function(){

this.getLists();

}

})

}

```

> Falladresse: http://jingrao.tianyuyezi.com/vue-demo/axios/index.html

Das obige ist der detaillierte Inhalt von30.05.2020 – Axios-Dateninteraktion und Select-All-Multi-Thinking-Erweiterung. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
1
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