Angular 防止用户在有效登录无效之前看到导航栏
我是编程和网络新手 这是我的app.component.html:Angular 防止用户在有效登录无效之前看到导航栏,angular,Angular,我是编程和网络新手 这是我的app.component.html: 当我未登录时,导航栏显示在我的app.component.ts中。我已经定义了逻辑: 令牌:字符串; 记录:布尔值=假; 恩戈尼尼特(){ if(localStorage.getItem('token')){ this.logged=true; }否则{ this.logged=false; } } 注销(){ localStorage.removietem(“令牌”); this.logged=false; }
-
当我未登录时,导航栏显示在我的app.component.ts中。我已经定义了逻辑:
令牌:字符串;
记录:布尔值=假;
恩戈尼尼特(){
if(localStorage.getItem('token')){
this.logged=true;
}否则{
this.logged=false;
}
}
注销(){
localStorage.removietem(“令牌”);
this.logged=false;
}
如果有人告诉我逻辑的哪一部分是错误的,我将不胜感激。localStorage.getItem和.removietem背后的代码和逻辑将非常有助于清楚地回答这个问题 但就代码片段而言,“logged”变量背后的逻辑和用法似乎非常简单和正确。但是localStorage.removeItem和localStorage.getItem似乎是问题所在。我这么说是因为,如果我从ts文件中删除这些调用,一切都会按预期进行
如果不知道localStorage函数在做什么,就很难准确地进行调试。如果(localStorage.getItem('token').length>0)您的代码对我来说很好,如果您可以在codesandbox或类似工具上重新创建,我很乐意仔细查看,但从这里您已经正确定义了logged,当它不存在时,它应该返回null值,因此将logged标记为false,并且不显示模板。我猜代码中肯定还有其他地方发生了什么事。