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有啥用?
阿神2017-05-15 17:16:24
个人理解$rootScope其实只是存储在内存中,如果页面刷新的情况下,$rootScope内的内容便会清空。
而cookies不会有此类问题,但是cookie的存储容量有些限制
PHPz2017-05-15 17:16:24
这个涉及到持久化存储和暂时性($rootScope)存储的区别。此外HTML5规范中还定义了localStorage和sessionStorage。另外如果使用上面的存储方案,会涉及对象的序列化和反序列化。而使用$rootScope的方式,不涉及上述的内容。最后有兴趣的化,请查阅一下不同存储的方式的优缺点。如果有做webapp,可以进一不了解低内存下localStorage 下存在的问题。总结一下,根据数据是否需要持久化选择存储方式。