【发布时间】:2018-11-11 05:51:14
【问题描述】:
我刚刚使用 Angular v6.0.3。我对 AngularJS v1.6.9 有一点经验
我正在设计一个基本网页,其目标网页显示 2 个链接:第一个用于登录,第二个用于注册。在单击“登录”链接时(我添加了(单击)事件),我已将路由设置为“/登录”(登录表单是一个组件),并且还使用 ngIf 来隐藏页面上的原始内容。移动到登录组件后,当我刷新页面“localhost:4200/login”时,我使用 ngIf 隐藏的内容再次显示为我在 ngIf 中使用的变量在刷新时被重新加载为值“true”。
如何解决这个问题?在此先感谢:)
app.component.ts
export class AppComponent {
myVar = true;
divReplace = function(){
if(this.myVar == true)
{
this.myVar = false;
}
}
}
app.component.html
<div class="fullPage">
<header>Welcome</header>
</div>
<router-outlet></router-outlet>
<div class="fullPage">
<div *ngIf="myVar">
<h3>Please login or sign up to continue :))</h3><br>
<div id="x"><a routerLink="/login" (click)="divReplace()">Login</a> </div>
<div>New user? <a routerLink="/signup">Sign Up</a></div>
</div>
</div>
Login page after click on "login" link
我希望登录表单下显示的内容即使在刷新后也不显示。 我什至尝试使用 constructor() 和 ngOnInit() 使变量只初始化一次,但似乎没有任何效果。即使是网络搜索也没有找到解决方案:(
提前致谢!
【问题讨论】:
-
使用 cookie 或本地存储。
-
没有别的办法了吗?对于这个问题,使用 cookie 似乎是一个过度拉伸的解决方案@mentallurg
-
Hey Harshit 我实现了一种新方法,我只需将记录 ID 放在 URL 中即可消除会话。
标签: angular