Heim > Web-Frontend > Front-End-Fragen und Antworten > Kann Vue eine Synchronisierung durchführen?

Kann Vue eine Synchronisierung durchführen?

藏色散人
Freigeben: 2023-01-29 11:33:54
Original
1701 Leute haben es durchsucht

vue kann mit Vue synchronisiert werden: 1. Erstellen Sie eine Vue-Beispieldatei. 2. Durch „data(){return;“ userInfo: {id: '',username: '',password:'',avatar: '',},}}methods:{getUserInfo: function () {let _this = this;this.axios({...} ) "Um Synchronisation zu erreichen

Implementierung der Synchronisierungsmethode in Vue

Kann Vue eine Synchronisierung durchführen?Szenario: Bei der Implementierung der Anmeldefunktion wird über den Benutzernamen des Formulars eine Anfrage an den Hintergrund gesendet. Das Front-End geht davon aus, dass die Verarbeitung abgeschlossen ist, und setzt die Ausführung fort, jedoch vor dem Hintergrunddaten werden zurückgegeben, der Benutzer erhält vom Front-End. Die Daten sind leer.

Implementierung: Warten Sie, bis die Anforderungsmethode Daten zurückgibt, fahren Sie mit der Ausführung fort und implementieren Sie die Synchronisierungsmethode.
Originalcode
data() {
          	return {

                userInfo: {
                    id: '',
                    username: '',
                    password: '',
                    avatar: '',
                },
            }}methods:{
	getUserInfo: function () {
    	let _this = this;
    	this.axios({
        	url: "http://localhost:8088/verifyLogin",
        	headers: {
            	'Content-Type': 'application/json;charset=utf-8'
        	},
        	method: "post",
        	params: {
            	'userName': _this.form.username        	}
    	}).then(function (resp) {
        	_this.userInfo = resp.data;
        	console.log('11111111');
    	})
	},
    
    
    onSubmit(formName) {
        let _this = this;
        this.getUserInfo();
		// 为表单绑定验证功能
        this.$refs[formName].validate((valid) => {
            if (valid) {
                console.log("22222222");  
                console.log(_this.userInfo);
            } else {
            }
        });
   }}
Nach dem Login kopieren
Konsolendruck

Problem gefunden: 1 auf der 2. Seite Ausgabe, und es ist immer noch leer, nachdem ein Wert aus Daten zugewiesen wurde

Lösung: Verwenden Sie async/await, um eine Synchronisierung zu erreichen

data() {
          	return {

                userInfo: {
                    id: '',
                    username: '',
                    password: '',
                    avatar: '',
                },
            }}methods:{
	async getUserInfo(params) {
    	let _this = this;
    	let isSuccess = false;
    	await this.axios({
        	url: "http://localhost:8088/verifyLogin",
        	headers: {
            	'Content-Type': 'application/json;charset=utf-8'
        	},
        	method: "post",
        	params: {
            	'userName': _this.form.username        	}
    	}).then(function (resp) {
        	_this.userInfo = resp.data;
            console.log("11111111");
        	isSuccess = true;
    	});
    	return isSuccess;
	},

    onSubmit(formName) {
        let _this = this;
        this.getUserInfo(_this.form.username).then(function (result) {
            if (result) {
                // do sth.
                 // 为表单绑定验证功能
                _this.$refs[formName].validate((valid) => {
                    if (valid) {
                            console.log("22222222");  
                			console.log(_this.userInfo);
                        }
                    } else {
                    }
                });
            } else {
                // do other sth.
            }
        })
       
    }}
Nach dem Login kopieren
Das geänderte Ergebnis

Empfohlenes Lernen: „

vue Video-Tutorial

Das obige ist der detaillierte Inhalt vonKann Vue eine Synchronisierung durchführen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

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