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有啥用?
個人理解$rootScope其實只是儲存在記憶體中,如果頁面刷新的情況下,$rootScope內的內容就會清空。
而cookies不會有此類問題,但是cookie的儲存容量有些限制
這個涉及到持久化儲存和暫時性($rootScope)儲存的區別。此外HTML5規範中也定義了localStorage和sessionStorage。另外如果使用上面的儲存方案,會涉及物件的序列化和反序列化。而使用$rootScope的方式,不涉及上述的內容。最後有興趣的化,請查閱不同儲存的方式的優缺點。如果有做webapp,可以進一不了解低記憶體下localStorage 下存在的問題。總結一下,根據資料是否需要持久化選擇儲存方式。