Javascript 重定向到主页
我的vue注册中存在以下问题。当我单击“注册”时,它会将我重定向到主页。也许使用一些条件可以解决这个问题。我怎样才能防止这种情况发生?有什么想法吗? 我的Javascript:Javascript 重定向到主页,javascript,vue.js,Javascript,Vue.js,我的vue注册中存在以下问题。当我单击“注册”时,它会将我重定向到主页。也许使用一些条件可以解决这个问题。我怎样才能防止这种情况发生?有什么想法吗? 我的Javascript: register() { firebase .auth() .createUserWithEmailAndPassword(this.email, this.lozinka) .then( function() { conso
register() {
firebase
.auth()
.createUserWithEmailAndPassword(this.email, this.lozinka)
.then(
function() {
console.log('Success');
let id = this.email
db.collection("user")
.doc(id)
.set({
korisnicko_ime: this.korisnicko_ime,
email: this.email,
lokacija: this.lokacija,
ime_objekta: this.ime_objekta,
kontakt: this.kontakt,
})
.then((doc) => {
console.log("Saved", doc)
})
})
.catch(function(error) {
console.error("Error...", error);
if ( store.currentUser=null ) {
this.$router.replace({ name: 'Register'});
}
});
console.log('Continue');
this.$router.replace({ name: 'Home'});
},
我不知道您实际上想要实现什么,但您正在做的是发出请求,根据请求的承诺注册回调,并立即替换当前路线
register() {
firebase
.auth()
.createUserWithEmailAndPassword(this.email, this.lozinka)
.then(successCallback)
.catch(errorCallback);
this.$router.replace({ name: 'Home'});
}
我猜您可能希望等待注册请求的响应,并根据承诺是否成功解决或出现错误来重定向用户
首先,您可能应该更深入地了解
- Promises及其异步/等待语法
- 使用const-over-let/var
async register() {
try {
const registerResponse = await firebase
.auth()
.createUserWithEmailAndPassword(this.email, this.lozinka);
console.log("Success");
const id = this.email;
const collectionResponse = await db
.collection("user")
.doc(id)
.set({
korisnicko_ime: this.korisnicko_ime,
email: this.email,
lokacija: this.lokacija,
ime_objekta: this.ime_objekta,
kontakt: this.kontakt,
});
console.log("Saved", doc);
// After everything was successfull, redirect to home
this.$router.replace({ name: 'Home'});
} catch(error) {
console.error("Error...", error);
if ((store.currentUser = null)) this.$router.replace({ name: "Register" });
}
}