从这个
repo,我已经成功配置了这个:
- import {Component} from "angular2/core";
- import {LocalStorageService} from "angular2-localstorage/LocalStorageEmitter";
- @Component({
- provider: [LocalStorageService]
- })
- export class AppRoot{
- constructor(private storageService: LocalStorageService){}
- ...
- }
如何使用storageService设置或获取本地存储?我甚至在文档中都找不到示例.
更新
经过一些测试,我已经通过WebStorage管理它来与Decorator一起工作:
- import {LocalStorage,SessionStorage} from "angular2-localstorage/WebStorage";
- @Component({})
- export class LoginComponent implements OnInit {
- @LocalStorage() public username:string = 'hello world';
- ngOnInit() {
- console.log('username',this.username);
- // it prints username hello world
- }
- }
但是,当我使用Chrome Dev查看我的本地存储时,我什么也看不到:
而在另一个组件中,
- import {LocalStorage,SessionStorage} from "angular2-localstorage/WebStorage";
- @Component({})
- export class DashboardComponent implements OnInit {
- @LocalStorage() public username:string;
- ngOnInit() {
- console.log(this.username);
- // it prints null
- }
- }
解决方法
该服务仅导入应用程序,以便可以运行初始化代码.
你应该使用的方式是通过装饰器作为其他答案提到.
请注意,这意味着您只需要将服务导入到您的根最多(应用程序)组件中,而不是使用装饰器的所有组件.
更新
还要尝试使用instructions第2步中的第一种方式,使用引导而不是AppComponent.
不幸的是,这个图书馆正在寻找一个新的维护者.所以不知道它是多么可靠.