Ionic:来自本地存储的故障 saving/loading 数据

Ionic: Trouble saving/loading data from local storage

我正在尝试保存应用程序从 http.get 请求中获取的数据,并在用户下次打开应用程序但设备未连接到互联网时加载它。

我的数据从 Http.get 请求加载正常,但没有保存或加载。

我不确定为什么我的代码不起作用。这是我的代码:

.controller('announcementCtrl', function($scope, $http) {
  $scope.data = [];
  $scope.infiniteLimit = 1;

  $scope.doRefresh = function() {
    $http.get('http://www.example.com')
      .success(function(data) {
        $scope.data = data;
        window.localStorage.setItem("data", JSON.stringify(data));

      })
      .error(function() {
        $scope.data = data;
        if(window.localStorage.getItem("data") !== undefined) {
                $scope.data = JSON.parse(window.localStorage.getItem("data"));
            }
      });
  }

error 中,$scope.data = data; 可能会将 $scope.data 设置为 undefined,除非您有一些我们不知道的全局 data 变量。我猜你的 error 函数应该更像

.error(function() { // You don't get any data from here, so setting anything based on it will produce undesired results
    var data = window.localStorage.getItem("data")
    if(data && typeof JSON.parse(data) === "object") {
       $scope.data = JSON.parse(data); // Set the data from local storage
    }
});