Angular Cordova推送数据在重新加载后消失

时间:2016-08-15 14:24:09

标签: javascript angularjs cordova session

im new with angular,我想创建应用程序,使用push将购物车数据存储到sesssion, 但是当我重新加载页面时,数据会话就消失了,而不像php $ _SESSION,

继承我的代码

cartObj.cart.push( { "cart_item_id": id , "cart_item_image": image , "cart_item_name": name , "cart_item_price": price , "cart_item_qty": qty } );

如何使购物车数据存储在会话中, 我尝试使用本地存储,但它不起作用

localStorage.setItem('cart_item_name', name);

在我的控制器中

$scope.name= localStorage.getItem('cart_item_name');

我是新来的,希望有人小心回答并慢慢解释,

感谢

编辑

这是我的控制器

.controller('keranjangBelanjaCtrl', ['$scope', '$stateParams','sharedCartService','$ionicPopup','$state', // TIP: Access Route Parameters for your page via $stateParams.parameterName
function ($scope, $stateParams,sharedCartService,$ionicPopup,$state) {

    //onload event-- to set the values
    $scope.$on('$stateChangeSuccess', function () {
    $scope.name= localStorage.getItem("cart_item_name");



    });

这是我的观点

<p>{{ name }}</p>

解决了

.controller('keranjangBelanjaCtrl', ['$scope', '$stateParams','sharedCartService','$ionicPopup','$state', // TIP: Access Route Parameters for your page via $stateParams.parameterName
function ($scope, $stateParams,sharedCartService,$ionicPopup,$state) {

    $scope.name= localStorage.getItem("cart_item_name");





    );

1 个答案:

答案 0 :(得分:0)

您不需要将整个对象存储在localstorage中,只需存储购物车项目的ID,然后通过该ID获取购物车项目。目前你只存储名称。项目将存储在localstorage中,直到有人不删除它为止。

localStorage.setItem("cartId", id)

得到

localStorage.getItem("id") || 'null'