我能够在浏览器的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'); } // ... }
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。