angular - 在 Angular 6 中只初始化一个变量一次,而不是在每次页面刷新之后
问题描述
我刚刚使用 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>
我希望登录表单下显示的内容即使在刷新后也不显示。我什至尝试使用 constructor() 和 ngOnInit() 使变量只初始化一次,但似乎没有任何效果。甚至网络搜索也没有产生任何解决方案:(
提前致谢!
解决方案
使用会话来存储信息。这样想,你的浏览器怎么知道用它在你的组件类中所说的以外的任何东西来初始化这个值?HTTP 是无状态的,每次刷新都是新的,所以需要存储和会话。
推荐阅读
- python - 币安 api 获取 makerCommission,两个来源两个不同的结果
- java - 返回类型为 Class 的 Java 泛型
或类 - c# - 如何在 C# 的只读属性中进行两次返回?
- python - 如何摆脱 Python 中阻塞内存的变量?
- ios - NavigationLink 随机弹出并“无法呈现。请提交错误。”
- javascript - 有没有办法在带有数组的对象中搜索 mongodb 中的值,并且该值可以存在于该数组的任何对象中
- r - 为什么 is.na 和 !="" 以不同的方式过滤信息
- arrays - 如何按 PowerShell 中的所有属性进行分组?
- apscheduler - 在 python 的 APScheduler 中同时运行同一个作业不止一次
- flutter - 在多个条件下排序列表