在我介绍本地存储之前,我的代码一直运行良好。我所做的是:当设备准备就绪时,检查值是否存在,如果存在则获取它们。在函数体中,我为该变量范围赋值,以及我得到此错误的位置。
$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"。
我不明白这种行为。我只是将变量设置为一个值。 这意味着什么?
答案 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));
}