我刚开始使用Angular4和NodeJS .
我有一个signin post请求,它将数据(例如用户角色,名字,姓氏)发送到我的角应用程序并将其存储在变量中 . 但是,当我重新加载页面时,变量再次为空 .
所以我想知道,有没有办法避免这种情况(例如,在每次重新加载页面时获取必要的数据?) . 或者是否有更好的做法来存储从角色邮寄请求中收到的数据? Localstorage和sessionstorage似乎真的没有给我 .
我尝试谷歌这几个小时,但我找不到合适的答案 .
如果您只是使用一条路线导航到其他路线this.router.navigate(['/heroes']);
this.router.navigate(['/heroes']);
然后您可以将数据保存在服务变量中,或使用 this.router.navigate(['/heroes', { firstName: 'First Name', lastName: 'Last Name' }]); 在路径之间传递数据
this.router.navigate(['/heroes', { firstName: 'First Name', lastName: 'Last Name' }]);
相反,如果您计划显式重新加载页面,则angular无法控制它,因为http是无状态协议 . 如果需要,您可以考虑使用LocalStorage或Cookie来保存数据 .
或者,在启动组件之前检查Angular Resolve以加载数据,以便事先获得所有可用数据 .
1 回答
如果您只是使用一条路线导航到其他路线
this.router.navigate(['/heroes']);
然后您可以将数据保存在服务变量中,或使用
this.router.navigate(['/heroes', { firstName: 'First Name', lastName: 'Last Name' }]);
在路径之间传递数据相反,如果您计划显式重新加载页面,则angular无法控制它,因为http是无状态协议 . 如果需要,您可以考虑使用LocalStorage或Cookie来保存数据 .
或者,在启动组件之前检查Angular Resolve以加载数据,以便事先获得所有可用数据 .