当前位置: 首页 > 面试题库 >

页面刷新后保留角度变量

东方辉
2023-03-14
问题内容

我试图找出一种方法来保持我的angular变量与页面刷新/跨控制器。我的工作流程是

  • 用户通过Facebook登录并获得访问令牌
  • 用户访问令牌将与每个请求一起使用

我尝试了两种方法,

1-将令牌分配给rootScope 不工作

2-使用 factory

#app.js
'use strict';

angular.module('recipeapp', [])
 .run(['$rootScope', '$injector', 'Authenticate', function($rootScope,$injector, Authenticate){
            $injector.get("$http").defaults.transformRequest = function(data, headersGetter) {
                $injector.get('$http').defaults.headers.common['auth-token'] = Authenticate.getToken();
             }
        }]);

#factory
'use strict';
angular.module('recipeapp')
  .factory('Authenticate', function(){
    var factory = {};
    var accessToken = "";

    factory.setToken = function(token) {
       accessToken = token;
    }
    factory.getToken = function() {
       return accessToken;
    }

    return factory;

  })

#facebook controller
I set the the token with every successful login
Authenticate.setToken(data.app_token);

但是问题是,如果刷新页面,该页面Authenticate.getToken()将变为空白。我是新手,angular无法找到刷新页面后保留数据的方法

任何帮助将非常感激


问题答案:

您可以使用localStorage。真的很容易使用。

var token = "xxx";
localStorage.setItem("token", token);
localStorage.getItem("token"); //returns "xxx"


 类似资料:
  • 问题内容: 是否可以永久更改javascript变量?如图所示,如果我将变量X设置为1,然后将按钮的onClick更改为2。如何在刷新页面时使该变量保持为2? 问题答案: 或可以做到这一点。不同之处在于,只要浏览器保持打开状态,它就可以持续使用,直到浏览器重新启动后,它才能幸免。持久性不仅适用于 整个网站, 还适用于 整个网站 。 当您需要设置一个应在下一页中反映的变量时,请使用: 在任何页面(例

  • 问题内容: 我是新手。我正在使用获取对象列表并将其显示在第一页上的服务。然后根据单击的对象,在下一页上设置选项卡标题。但是,当我刷新页面时,列表的范围丢失了,并且选项卡头引发了异常,导致页面无法显示信息。即使刷新第二页,是否可以保留上一个屏幕上单击了哪个对象的信息? 问题答案: 您可以使用角度本地存储 角度本地存储 示例如何使用它: 使用本地存储的示例

  • 我正在使用php和javascript进行网络编程,这是我想问的一个一般性问题,通常在页面刷新时,文本区域或输入中的所有内容都会被删除; 是否有办法保留用户输入、键入的字符或复选框?不保存到会话中?还是我真的需要保存它?非常感谢。 (我不是说表单提交导致重新加载,但只是简单地键入文本区域,然后按下刷新按钮。)

  • 问题内容: 我有一个字符串值保存到变量中,我的网页在经过一定的处理后会自动重新加载。.我需要知道即使刷新页面后也能获取存储在该变量中的值吗? 我使用JavaScript代码刷新网页 如果不是这样的话,如果我使用类似php的服务器端脚本,是否可以使用? 问题答案: JavaScript: 1)(仅适用于HTMl5浏览器)-您可以将其另存为页面的本地存储配额的属性 2)将其保存在Cookie中 3)将

  • 请考虑以下代码: 忽略所有axios请求: login.js 此页面通过将loggedIn更改为true并将currentUser更改为“fa”来更新GlobalContext。 profile.js 这将获取状态并记录它。 下面是reducer.js和globalcontext.js: 一切工作都很好,一旦我登录,我就会被重定向到主页,就像我应该做的那样,正确的状态正在被记录。 但是,一旦我刷新

  • 当我hithttp://localhost:4200或http://localhost:4200/forgotPasswordEmail本地环境时,它可以正常工作。 在我的正式生产环境中打开索引页面并单击链接转到另一个页面也可以。但是,当我刷新页面或直接转到