angular.js - $cookies和$rootScope, 哪一个更适合存储用户数据信息?

浏览:26日期:2022-12-20

问题描述

if (user.username && user.password) { loginService.loginUser(user).then(function(response) { $cookies.put('token', response.token) $rootScope.token = response.token $cookies.put('username', response.username) }}

token直接放在$rootScope也可以达到存储的目的,所以$cookies有啥用?

问题解答

回答1:

个人理解$rootScope其实只是存储在内存中,如果页面刷新的情况下,$rootScope内的内容便会清空。而cookies不会有此类问题,但是cookie的存储容量有些限制

回答2:

这个涉及到持久化存储和暂时性($rootScope)存储的区别。此外HTML5规范中还定义了localStorage和sessionStorage。另外如果使用上面的存储方案,会涉及对象的序列化和反序列化。而使用$rootScope的方式,不涉及上述的内容。最后有兴趣的化,请查阅一下不同存储的方式的优缺点。如果有做webapp,可以进一不了解低内存下localStorage 下存在的问题。总结一下,根据数据是否需要持久化选择存储方式。

相关文章: