搜索

首页  >  问答  >  正文

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

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有啥用?

过去多啦不再A梦过去多啦不再A梦2743 天前740

全部回复(2)我来回复

  • 阿神

    阿神2017-05-15 17:16:24

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

    回复
    0
  • PHPz

    PHPz2017-05-15 17:16:24

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

    回复
    0
  • 取消回复