TypeError:使用本地存储时无法设置null属性

时间:2016-11-14 06:26:49

标签: angularjs ionic-framework local-storage angular-local-storage

在我介绍本地存储之前,我的代码一直运行良好。我所做的是:当设备准备就绪时,检查值是否存在,如果存在则获取它们。在函数体中,我为该变量范围赋值,以及我得到此错误的位置。

$ionicPlatform.ready(function() {
if (localStorageService.get("modelTrue") == null) {
  $scope.userModal.show();
  localStorageService.set("modelTrue", "true")
}
else {
  //Parameter to restore:
  if(localStorageService.get("first") != null){
    $scope.data.firstDisplay = JSON.parse(localStorageService.get("first"));
  }
}; 
$scope.scanBarcode = function() {
                 $scope.data.firstDisplay = {'src' : 'img/1.png'}; //this is where I get the error
                 localStorageService.set("first", JSON.stringify($scope.data.firstDisplay));   
              }

当我调用最后一个函数时,我收到错误:" TypeError:无法设置属性' firstDisplay' of null"。

我不明白这种行为。我只是将变量设置为一个值。 这意味着什么?

null来自console.log($ scope.data); enter image description here

1 个答案:

答案 0 :(得分:2)

您需要声明$scope.data ={};否则它总是为空,

$ionicPlatform.ready(function() {
            $scope.data ={};
            if (localStorageService.get("modelTrue") == null) {
                $scope.userModal.show();
                localStorageService.set("modelTrue", "true")
            } else {
                //Parameter to restore:
                if (localStorageService.get("first") != null) {
                    $scope.data.firstDisplay = JSON.parse(localStorageService.get("first"));
                }
            };
            $scope.scanBarcode = function() {
                $scope.data.firstDisplay = {
                    'src': 'img/1.png'
                }; //this is where I get the error
                localStorageService.set("first", JSON.stringify($scope.data.firstDisplay));
            }