我在这里有一个登录功能,它允许用户登录并根据一条 firebase 信息(活动标志)是真还是假导航到某个组件(changepw)。即使我读的数据很好,当它为假时,我也没有得到这段代码的重定向。已尝试更改密码和 /changepw。帮助!
login(email: string, password: string): void {
this.firebaseAuth.signInWithEmailAndPassword(email, password)
.then(value => {
var userId = value.user.uid;
this.db.database.ref(('users/' + userId)).get().then(value => {
var userInfo = value.toJSON();
console.log(userInfo['active'])
if ( userInfo == false ) {
this.router.navigate(['changepw']);
} else {
this.router.navigate(['']);
}
})
})
.catch(err => {
console.log('Something went wrong:', err.message);
alert(err.message);
});
}
答案 0 :(得分:0)
如果你在 app-routing.module.ts 中有这样的东西
const routes : Routes = [
{path:"changepw",component abcComponent}
]
那么你应该在导航中添加前斜杠
this.router.navigate(['/changepw']);
在 appRouting 模块中分享路由,如果你在控制台有任何错误,也会分享
答案 1 :(得分:0)
我不确定你是否尝试过这种方法
this.router.navigate(['/', 'changepw']);
它的作用是,在 /
之后,它会附加 changepw 路由。
由于 this.router.navigate([]);
是一个数组,如果它有一个 /
或类似的东西,你需要分割路径。