【问题标题】:Persistent localStroage variable after refresh in angular角度刷新后的持久局部存储变量
【发布时间】:2017-07-17 06:54:02
【问题描述】:

我正在尝试通过 LocalStorage 跟踪某些值的状态。我在服务中初始化它并在控制器中使用/修改它,使用 set 和 get 函数。 问题是页面何时重新加载。这就是我最初决定使用 localStorage 的原因。由于我在服务内部初始化了变量,所以每次重新加载页面时,localStorage中变量的值也是如此。

我的服务:

AuthService.$inject = ['$q', '$http', 'LocalStorage', 'CONFIG'];
function AuthService($q, $http, LocalStorage, CONFIG) {
    LocalStorage.set("isloggedin", false);
});

由于这只是为了测试本地存储的使用情况,所以我只是在初始化和打印值,所以我真的不认为其他一些代码会导致变量变为 false。

我也尝试过使用 root 作用域(尽管很多人建议不要这样做),并且在我弄清了本地存储的问题之前,我宁愿不要尝试其他任何东西。那么有没有办法让本地存储中的值持久化呢?

【问题讨论】:

  • 不确定是什么问题? LocalStorage 是否引用 window.localStorage
  • 你真的需要为此使用角度模块吗?它内置在 Javascritp 中,不需要任何外部库。 Localstorage 是持久的,但是每个浏览器的行为不同,例如,Mozilla 将其实现为 cookie,而 Chrome 实现为 Cache。话虽如此,您不应过度依赖本地存储,也不应存储任何敏感信息,因为它很容易从客户端级别进行操作。
  • @Adriani6 我正在玩现有的移动应用程序离子项目。虽然它包含一个良好的结构,但根本没有任何功能。而且我不会撒谎说我完全理解每件事的作用,但这很有趣,所以我试图在其中构建一些基本功能。 (很少存在的)逻辑已经适用于 angular js。但是,我将不胜感激有关如何存储例如登录状态或其他需要持久化的数据的替代建议。

标签: javascript angularjs local-storage


【解决方案1】:

好的,我真的很讨厌在发布问题 5 分钟后找出答案,我仍然不确定这是正确的答案,还是最有效的解决方案。但这就是我所做的,它奏效了。

在 Angular js 中,本地存储变量的初始声明显然不是必需的。您只需在需要时设置这些值,即使重新加载它们也会继续。

无论如何,作为一个完全的新手,我欢迎任何关于这篇文章的建议、解释、问题或评论。

【讨论】:

    猜你喜欢
    • 2014-07-18
    • 1970-01-01
    • 1970-01-01
    • 2014-02-16
    • 2021-05-03
    • 1970-01-01
    • 1970-01-01
    • 2012-10-30
    • 1970-01-01
    相关资源
    最近更新 更多