我使用 ngCookies
中的$cookies
来存储对象数组,但是当我刷新浏览器时,数据的长度会增加,并且不再作为数组访问。
我在网上搜索,发现cookieStore
仍然在我使用它ngCookies
它工作得很好,所以我想知道,cookies
会有什么问题。以下是我尝试过的代码。
//Used this to in the run method to check if cookie exist
$rootScope.cart = $cookies.get('cart') || [];
//On button click I run the code below which fails after browser refresh
$rootScope.cart.push(response.data);
$cookies.put('cart', $rootScope.cart);
PS:我是 angularjs 的新手
解决此问题的另一种方法是使用插件angular-local-storage
。
它可以处理更现代的LocalStorage/SessionStorage,并且仍然有cookie作为后备 - https://github.com/grevory/angular-local-storage
它有一个方便且可配置的 API:
//set value
localStorageService.set(key, val);
//read value
localStorageService.get(key);
//list all
localStorageService.keys();