Angular应用程序组件在重定向后未加载本地存储值

问题描述 投票:0回答:2

在我的sign n form应用程序中,我已经为本地存储设置了一些值。我将值设置为本地存储后重定向。但问题是重定向页面在第一次重定向时没有获得该值。但是,如果我使用浏览器刷新按钮刷新页面,则会获取值。

这是我重定向的方式

if (res["returnFlag"] === 0) {
    // tslint:disable-next-line:no-string-literal
    const userid = res["loginEmployeeId"];
    const username = res["username"];

    localStorage.setItem("userid", userid);
    localStorage.setItem("isLoggedIn", "true");
    localStorage.setItem("username", username);

    console.log(username);
    // console.log('signed in log val:' + localStorage.getItem('isLoggedIn'));

    // location.href = "dashboard";
    // this.router.navigateByUrl("dashboard");

    // this.router.navigated;
    this.router.navigate(["dashboard"]);
}
angular redirect
2个回答
0
投票
constructor(public route: ActivatedRoute)

this.route.paramMap.subscribe(res => {
 // here you need to call the method which you are setting up
});

0
投票

您应该能够使用与设置值完全相同的密钥从localStorage检索数据。另外,请确保res包含值。在将值设置为localStorage之前检查null和undefined。

const userid = res["loginEmployeeId"];
const username = res["username"];
localStorage.setItem("userid", userid ?? '');
localStorage.setItem("isLoggedIn", "true");
localStorage.setItem("username", username ?? '');
© www.soinside.com 2019 - 2024. All rights reserved.