Angularjs 如何在angular 2应用程序中保存全局可见用户?
登录后我得到一个用户Angularjs 如何在angular 2应用程序中保存全局可见用户?,angularjs,angular,typescript,rxjs,ngrx,Angularjs,Angular,Typescript,Rxjs,Ngrx,登录后我得到一个用户 private login() { let data = { "UserName": "admin" , "Password": "+" }; this.apiService.doLogin(data).subscribe( (res) => this.userService.set('user', res), (err) => console.log(err) ) } 如何实现这个用户服务? *我想在
private login() {
let data = { "UserName": "admin" , "Password": "+" };
this.apiService.doLogin(data).subscribe(
(res) => this.userService.set('user', res),
(err) => console.log(err)
)
}
如何实现这个用户服务?
*我想在没有新呼叫的情况下获取一些用户数据到后端?
**我知道,也许有人知道更好的解决办法 可以使用HTML5localSorage,但对于Angular2,ngrx/store更好。它还提供状态管理,因此建议您使用它。如果您想存储记录的用户详细信息,您可以通过几种方式来实现 Redux商店(ngrx): 您可以使用ngrx商店概念-。当您从后端获取用户模型时,您只需发送一个操作来加载数据 优势:
- 您可以在应用程序的所有部分、每个组件中订阅您的用户存储,这样您就可以对每次更改做出正确的反应
- 存储中的用户模型是不可变的——要更改任何内容,您必须调度一个操作,该操作调用纯reducer函数,因此不可能意外地修改任何用户数据
- 在Angular 2中,服务可以是全局的或模块范围的。这是什么意思?如果您将您的用户服务添加到全局模块提供程序数组中,并且由于错误(也作为您的功能模块提供程序),angular 2将创建两个服务实例,因此其中一个实例将具有空用户。类似的问题你可以在那里找到-
this.userService.user=res.json()
。如果您想持久化它(即,如果刷新页面,就可以找到它),您可以将它存储在cookie或LocalStorage中。