我想在我的 Angular 2 应用程序中拥有一个页面重新加载证明类实例。
在我的组件的 .ts 文件中,我有类:
export class AComponent implements OnInit {
foo: Foo = new Foo();
ngOnInit() {
// This will always be 12, it would be nice if it would increase with each page refresh.
this.foo.bar.baz += 1;
console.log("baz: " + this.foo.bar.baz);
}
}
class Bar {
baz: number = 11;
}
class Foo {
bar: Bar = new Bar()
}
我知道 ES6 的 localStorage 可以存储字符串。我是否必须自己编写复杂类对象的反序列化? 就像(我认为)这里建议的:Angular 2 map http response to instance of class
最佳答案
我建议使用 angular-2-local-storage node_module。
步骤:
- 安装
npm install angular-2-local-storage
- 确保该包已添加到 config.js(systemjs 或 webpack)中
导入模块和服务如下
import { LocalStorageModule,LocalStorageService} from 'angular-2-local-storage';
添加模块以导入数组和服务到提供者数组
imports: [ BrowserModule, LocalStorageModule.withConfig({storageType: 'localStorage'}), ], providers:[LocalStorageService],
将服务作为依赖项注入(inject)到组件中,如下所示
constructor(private localStorageService: LocalStorageService) { this.name = 'Angular-2-Local-Storage-Demo'; this.localStorageService.add('a',this.user); console.log(this.localStorageService.get('a')); this.valuFromLocalStorage= this.localStorageService.get('a') }
<强> LIVE DEMO
关于javascript - 如何在浏览器存储中存储(类类型)对象并检索它?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42603319/