加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

angularjs – 如何从Angular2本地存储中保存和检索数据?

发布时间:2020-12-17 07:12:57 所属栏目:安全 来源:网络整理
导读:我能够在浏览器的localstorage中存储身份验证令牌,但我无法将其作为字符串检索.我找不到任何关于如何做到这一点的例子. 解决方法 您可以自己编写一个服务来封装序列化和反序列化: export class StorageService { write(key: string,value: any) { if (value
我能够在浏览器的localstorage中存储身份验证令牌,但我无法将其作为字符串检索.我找不到任何关于如何做到这一点的例子.

解决方法

您可以自己编写一个服务来封装序列化和反序列化:

export class StorageService {
    write(key: string,value: any) {
        if (value) {
            value = JSON.stringify(value);
        }
        localStorage.setItem(key,value);
    }

    read<T>(key: string): T {
        let value: string = localStorage.getItem(key);

        if (value && value != "undefined" && value != "null") {
            return <T>JSON.parse(value);
        }

        return null;
    }
}

在引导程序调用中将其添加到提供程序:

bootstrap(App,[ ...,StorageService]);

或者在根组件中:

@Component({
    // ...
    providers: [ ...,StorageService]
})
export class App {
    // ...
}

然后在你需要它的组件中,只需将它注入构造函数中:

export class SomeComponent {
    private someToken: string;

    constructor(private storageService: StorageService) {
        someToken = this.storageService.read<string>('my-token');
    }

    // ...
}

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读