angular - Angular,登录/注册后标题不刷新
问题描述
正如标题所说,我希望在用户登录或刚刚注册后显示“嗨,”用户名“”。但是,我的标头似乎没有立即收到信息,但用户必须手动刷新页面才能让标头接收信息。下面是我的“authentication.service”
public login(user: TokenPayload): Observable<any>{
const base = this.http.post('/user/login', user)
const request = base.pipe(
map((data: TokenResponse) => {
if(data.token){
this.saveToken(data.token)
}
return data
})
)
return request
}
public register(user: TokenPayload) : Observable<any>{
const base = this.http.post('/user/register', user)
const request = base.pipe(
map((data: TokenResponse) => {
if(data.token){
this.saveToken(data.token)
}
return data
})
)
return request
}
登录组件
login() {
this.auth.login(this.credentials).subscribe(
() => {
this.router.navigateByUrl('/')
},
err => {
console.error(err)
}
)
}
header.component
ngOnInit() {
if(this.auth.isLoggedIn()){
this.auth.myProfile().subscribe(user => {
this.mydetails = user
console.log(this.mydetails.id)
},
err => {
console.error(err)
})
}
}
谢谢!
解决方案
推荐阅读
- python - 如何从列表中找到相似但不准确的值?
- java - 依赖注入的 MainActivity
- javascript - 在网站上,当数据层中第三方控制的 javascript 变量的值发生变化时,每次都向我的服务器发送信息
- javascript - 将数组转换为排序对象
- python - 用多种方法替换方法
- vb.net - 使用 HTML 敏捷包 (VB.net) 从 WebBrowser 活动中抓取文本
- linux - 在使用 yes/no 子句的期望脚本中处理双重身份验证的问题
- apache - 为什么 .htaccess RewriteRule 不能在根路径 / 中工作,但适用于所有其他文件和子目录?
- qt - 如何将 QML 中声明的信号连接到 C++ 方法或 lambda
- c - 如何读取文本文件并将它们复制到字符串数组?