ng-docs.github.io
ng-docs.github.io copied to clipboard
刷新当前页面 或手动输入url地址回车后,service属性数据丢失?
1.ng g s login新建的一个login service服务.其中有一个属性isLogin保存用户登录状态 用户登陆之后更改isLogin为true
2.这个login service注入进了一个路由守卫中,路由守卫通过判断login service中的isLogin字段是否为true来决定是否跳转/list路径 ,如果isLogin为false 那么跳转登陆页面/login
3.正常登陆之后也跳转了/list路径,但是当我在/list路径刷新页面的时候,这个时候页面却跳转到了/login
4.问题是,新建的service不是注入成了root 是单例的吗?为什么属性值会丢失?
刷新页面时整个页面都会被重置,所以不会留下任何内存变量 —— 不管用什么形式。 登录这类功能,你应该使用 router 的 guard 来实现,也就是说当进入需要登录的路由之前,先去服务器查询一下自己的身份,如果登录过,就把它放进服务中。
请把关键数据保存到localStorge/cookie中,其他地方都是临时跑在内存中,刷新就没了
ok 感谢回复
请把关键数据保存到localStorge/cookie中,其他地方都是临时跑在内存中,刷新就没了
个人感觉放在llocalStorge/cookie里 并不好因为 这个在客户端浏览器 就可以改掉 这些数据