Angular Cordova推送数据在加载后就消失了

Angular Cordova push data gone after reload

本文关键字:加载 消失了 数据 Cordova Angular      更新时间:2023-09-26

我是angular的新手,我想创建使用push将购物车数据存储到会话的应用程序,但是当我重新加载页面时,数据会话消失了,不像在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);

in my controller

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

我是新来的,希望有人能慢慢回答和解释,

感谢

编辑

this my controller

.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");

    });

this my view

<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");


    );

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

localStorage.setItem("cartId", id)

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