Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/csharp-4.0/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
AngularJS本地存储-初始化检索本地存储数据的应用程序_Angularjs_Local Storage_Ionic Framework - Fatal编程技术网

AngularJS本地存储-初始化检索本地存储数据的应用程序

AngularJS本地存储-初始化检索本地存储数据的应用程序,angularjs,local-storage,ionic-framework,Angularjs,Local Storage,Ionic Framework,我是angular的新手,我试图避免在用户刷新页面时丢失添加到简单购物车应用程序上的项目 我正在使用angularLocalStorage(),但不知道如何从内容中检索它。 我的台词: var myApp = angular.module('ionicApp', ['ionic','angularLocalStorage']); myApp.factory('prodottiData', function($http) { return { getFooOldSchool: func

我是angular的新手,我试图避免在用户刷新页面时丢失添加到简单购物车应用程序上的项目

我正在使用angularLocalStorage(),但不知道如何从内容中检索它。 我的台词:

var myApp = angular.module('ionicApp', ['ionic','angularLocalStorage']);
myApp.factory('prodottiData', function($http) {
  return {
    getFooOldSchool: function(callback) {
    $http.get('http://192.168.1.128/hongkongapp/?json=get_recent_posts&post_type=product&custom_fields=all').success(callback);
    }
  }
 });
myApp.factory('DataService', function() {
  var myCart = new shoppingCart("AngularStore");
  return {
    cart : myCart
  };
});
myApp.controller('MyController', function MyController ($scope, storage, $ionicSideMenuDelegate, prodottiData, DataService, $sce) {
    $scope.toggleLeft = function() {
    $ionicSideMenuDelegate.$getByHandle('mainMenu').toggleLeft();
  };
  $scope.toggleMySecondMenuLeft = function() {
    $ionicSideMenuDelegate.$getByHandle('mySecondMenu').toggleLeft();
  };
    //adding menu data to the scope object
    prodottiData.getFooOldSchool(function(data) {
        $scope.menu = data;
    });
    //adding the cart to the scope object
    $scope.cart = DataService.cart;
    $scope.to_trusted = function(html_code) {
        return $sce.trustAsHtml(html_code);
    }
    images = $scope.menu;
    $scope.showloader = function(){            
            $scope.shownImage = this.post.thumbnail_images.full.url;
            $scope.itemDesc = this.post.content;
            $scope.itemPrice = this.post.custom_fields._price[0];
            $scope.productName = this.post.title;
            $scope.skuProdotto = this.post.id;
        }
    });
现在,如果我在控制台上检查本地存储,我可以看到一些东西确实存储了,但是我错过了在启动时重新填充购物车的方法


任何帮助都会很好

从文档中检索,它是
storage.get('key')

因此,要在刷新后检查:

if (storage.get('someKey')){
  $scope.retrieved_value = storage.get('someKey');
}else{
// whatever
}

为什么不使用浏览器本地存储? 您可以将其作为新服务添加到services.js中,然后直接使用它

var storeService = myAppServices.factory('storeService', function() {

    var service =
    {
        setClientData:function(client_details)
        {
            window.localStorage.setItem( "client_data", JSON.stringify(client_details) );
            client_data = client_details;
        },
        getClientData:function()
        {
            if (client_data == null)
            {
                client_data = JSON.parse(window.localStorage.getItem("client_data"));
            }
            return client_data;
        }
    }

    var client_data = null;

    return service;
});

您可以使用localStorage代替windows.localStorage

if(类型(存储)!=“未定义”)
{
//本地存储/会话存储的代码。
var hello=“hello World!!”;
setItem(“hello”,hello);
//获取字符串
console.log(localStorage.getItem(“hello”);//将返回“hello World!!”
var me={姓名:'abel',年龄:26岁,性别:'male'};
setItem(“user”,JSON.stringify(me));
//获取对象
console.log(localStorage.getItem(“user”);//将返回{“name”:“myname”,“age”:99,“gender”:“myGender”}
var objetos=JSON.parse(localStorage.getItem(“用户”);
console.log(objetos.name);
}
其他的
{
//抱歉!不支持Web存储。。
}