我是新手,尝试了几件事,
以下是我的服务
import { Injectable } from '@angular/core';
@Injectable({
providedIn: 'root'
})
export class StorageService {
constructor() { }
get loginUniqueKey(): string {
return localStorage.getItem('loginUniqueKey')
}
set loginUniqueKey(value: string) {
localStorage.setItem('loginUniqueKey',value)
}
}
并按照以下方式存储
this.storageService.loginUniqueKey = res.id;
this.router.navigate(['/nextpage']);
它将移至页面,但在下一页ngOnInit上,本地存储值不可用,当我刷新时就可以了。
我这样做的另一种情况
this.storageService.loginUniqueKey = res.id;
console.log(this.storageService.loginUniqueKey) // just an extra line
this.router.navigate(['/nextpage']);
然后确定,
在本地存储中存储似乎很耗时间
但是当我直接将数据存储在本地存储(例如
)中时,还可以localStorage.setItem('loginUniqueKey',res.id)
如何使该服务正常工作。
谢谢
答案 0 :(得分:0)
您的app.module必须像
import { NgModule } from '@angular/core';
import { BrowserModule } from '@angular/platform-browser';
import {StorageService} from './services/storege.service.ts' //<--or whatever
@NgModule({
imports: [ BrowserModule,
...your modules here...
],
providers: [ storageService,
..other services common to all the app..], //<--add yours service here
declarations: [ AppComponent ],
exports: [ AppComponent ],
bootstrap: [ AppComponent ]
})
export class AppModule { }