Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/412.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/27.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何在重新加载页面后记住变量的值?_Javascript_Html_Angular_Typescript_Angular6 - Fatal编程技术网

Javascript 如何在重新加载页面后记住变量的值?

Javascript 如何在重新加载页面后记住变量的值?,javascript,html,angular,typescript,angular6,Javascript,Html,Angular,Typescript,Angular6,我想记住变量loggedIn的值,因为appComponent.html中相应函数的值取决于它的值。请告诉我如何实现它 应用程序组件的团队板: {{this.loggedInService.loggedIn?'Exit':'Enter'} 使用 例如: localStorage.setItem('loggedIn', loggedIn); 使用 例如: localStorage.setItem('loggedIn', loggedIn); 用户登录LoggedinService的logi

我想记住变量
loggedIn
的值,因为
appComponent.html
中相应函数的值取决于它的值。请告诉我如何实现它

应用程序组件的团队板:

  • {{this.loggedInService.loggedIn?'Exit':'Enter'}
  • 使用

    例如:

    localStorage.setItem('loggedIn', loggedIn);
    
    使用

    例如:

    localStorage.setItem('loggedIn', loggedIn);
    

    用户登录
    LoggedinService
    login
    方法后,您已经存储了
    login

    现在,即使您重新加载页面,您也可以使用以下方法从那里获取它:

    // Add this property in your app.component.ts
    loggedIn = localStorage.getItem('login');
    
    如果用户在重新加载页面之前登录,则返回“true”

    然后可以创建以下类:

    .btn-outline-success {
      background: 'green';
    }
    
    .btn-outline-danger {
      background: 'green';
    }
    
    然后在app.component.html中使用如下语法动态使用这些类:

    <li class="nav-item">
      <a 
        class="btn" 
        [ngClass]="loggedIn === 'true' ? 'btn-outline-success': 'btn-outline-danger'"
        (click)="this.loggedInService.loggedIn ? logout() : logIn()">
        {{this.loggedInService.loggedIn? 'Exit' : 'Enter'}}
      </a>
    </li>
    
  • {{this.loggedInService.loggedIn?'Exit':'Enter'}

  • 在用户登录
    LoggedinService
    login
    方法后,您已经存储了
    login

    现在,即使您重新加载页面,您也可以使用以下方法从那里获取它:

    // Add this property in your app.component.ts
    loggedIn = localStorage.getItem('login');
    
    如果用户在重新加载页面之前登录,则返回“true”

    然后可以创建以下类:

    .btn-outline-success {
      background: 'green';
    }
    
    .btn-outline-danger {
      background: 'green';
    }
    
    然后在app.component.html中使用如下语法动态使用这些类:

    <li class="nav-item">
      <a 
        class="btn" 
        [ngClass]="loggedIn === 'true' ? 'btn-outline-success': 'btn-outline-danger'"
        (click)="this.loggedInService.loggedIn ? logout() : logIn()">
        {{this.loggedInService.loggedIn? 'Exit' : 'Enter'}}
      </a>
    </li>
    
  • {{this.loggedInService.loggedIn?'Exit':'Enter'}
  • 对于角度为6的管路:
    npm安装@ngx pwa/local-storage@6

    对于角度5运行:
    npm安装@ngx pwa/local-storage@5

    将此添加到您的应用程序模块:

    导入:[
    LocalStorageModule,
    //此处导入其他模块
    ],

    服务函数
    导出类LoggedinService实现OnInit{
    重定向URL:字符串;
    loggedIn:boolean=false;
    构造函数(私有localStorage:localStorage){}
    ngOnInit():void{}
    login():布尔值{
    this.localStorage.setItem('login','true').subscribe(res=>{
    this.loggedIn=true;
    });
    返回this.loggedIn=true;
    }
    注销():布尔值{
    this.localStorage.removietem('login').subscribe(res=>{
    this.loggedIn=false;
    });
    返回this.loggedIn=false;
    }
    }
    对于角度为6的管路:
    npm安装@ngx pwa/local-storage@6

    对于角度5运行:
    npm安装@ngx pwa/local-storage@5

    将此添加到您的应用程序模块:

    导入:[
    LocalStorageModule,
    //此处导入其他模块
    ],

    服务函数
    导出类LoggedinService实现OnInit{
    重定向URL:字符串;
    loggedIn:boolean=false;
    构造函数(私有localStorage:localStorage){}
    ngOnInit():void{}
    login():布尔值{
    this.localStorage.setItem('login','true').subscribe(res=>{
    this.loggedIn=true;
    });
    返回this.loggedIn=true;
    }
    注销():布尔值{
    this.localStorage.removietem('login').subscribe(res=>{
    this.loggedIn=false;
    });
    返回this.loggedIn=false;
    }
    
    }
    您可能需要研究cookies:d请注意,您的策略具有巨大的安全风险。如果你依赖于客户端的loggedIn值是真是假,那么这个值很容易被渗透者伪造,并且可能会发生不想要的事情,比如身份盗窃、数据泄露等等。您可能不想这样。您可能想研究cookies:d请注意,您的策略具有巨大的安全风险。如果你依赖于客户端的loggedIn值是真是假,那么这个值很容易被渗透者伪造,并且可能会发生不想要的事情,比如身份盗窃、数据泄露等等。你可能不想这样。我需要在重新加载后保存按钮样式,它们取决于变量的值,如何实现?@IgorShvets,我已经相应地更新了答案。请检查这是否有帮助。@SiddAjmera您不能在模板中使用
    。我需要在重新加载后保存按钮样式,它们取决于变量的值,如何实现?@IgorShvets,我已相应地更新了我的答案。请检查这是否有帮助。@SiddAjmera您不能在模板中使用
    this