首页 > 解决方案 > Angular 应用程序组件在重定向后未加载本地存储值

问题描述

在我的符号 n 形式的应用程序中,我为本地存储设置了一些值。我在将值设置为本地存储后重定向。但问题是重定向页面在第一次重定向中没有获得该值。但是,如果我使用浏览器刷新按钮刷新页面,它会采用这些值。

这就是我重定向的方式

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"]);
}

标签: angularredirect

解决方案


您应该能够使用与设置值完全相同的键从 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 ?? '');

推荐阅读