AngularJs 上传新页面时本地存储数据丢失
AngularJs Localstorage data lost when uploading new page
我正在处理一个包含一些常见问题解答的页面,并且我正在使用 angular localstorage 来保存数据。
然后我将所有文件上传到服务器,与其他人共享。
当我这样做时,我丢失了数据,并在我第一次上传时得到 it.It,所以它不可能在那里。然后我插入一些数据,它工作正常,即使我关闭浏览器并再次打开它,我的数据就在那里。
但是当我再次上传我的 .html 文件到服务器时,我又把它弄丢了。它是相同的 url,相同的 html 页面,但是 angular localstorage 中的数据是如何被重置的。
我是 angular 的新人,我是第一次使用 localstorage。我已经搜索过这个问题,但没有找到任何提示。
如何将数据保存在本地存储中?
我在 angular 模块中的代码是:
var app = angular.module('WikiCTTXApp',['ngSanitize','ngStorage']);
app.controller('InfoInterController',函数($scope, $localStorage,$sessionStorage){
$scope.$storage = $localStorage;
$scope.InfoInter = $localStorage.InfoInter;
$scope.newInfoInter = {};
$scope.addInfoInter=function(){
/* AD(added later): I added this line to test and initialize the variable and my issue disapeard */
if (typeof($scope.InfoInter) == 'undefined'){$scope.InfoInter=[]};
$scope.InfoInter.push($scope.newInfoInter);
$scope.newInfoInter = {};
$scope.save();
};
$scope.remove = function(item) {
var index = $scope.InfoInter.indexOf(item);
$scope.InfoInter.splice(item, 1);
};
$scope.save = function() {
$localStorage.InfoInter = $scope.InfoInter;
};
$scope.load = function() {
$scope.InfoInter = $localStorage.InfoInter;
};
});
我没有遇到过那种具体情况,但 LocalStorage 是 Angular 使用的 HTML5 功能,而不是 Angular 本身的功能。因此,它取决于正在使用的浏览器的实现和用户设置 - 您无法控制存储是否(或多长时间)将被持久化。
作为一般规则,您永远不应该假设它会在那里,并且您应该始终编写您的代码,以便它处理您的数据不存在的情况。
我正在处理一个包含一些常见问题解答的页面,并且我正在使用 angular localstorage 来保存数据。 然后我将所有文件上传到服务器,与其他人共享。 当我这样做时,我丢失了数据,并在我第一次上传时得到 it.It,所以它不可能在那里。然后我插入一些数据,它工作正常,即使我关闭浏览器并再次打开它,我的数据就在那里。
但是当我再次上传我的 .html 文件到服务器时,我又把它弄丢了。它是相同的 url,相同的 html 页面,但是 angular localstorage 中的数据是如何被重置的。
我是 angular 的新人,我是第一次使用 localstorage。我已经搜索过这个问题,但没有找到任何提示。
如何将数据保存在本地存储中?
我在 angular 模块中的代码是:
var app = angular.module('WikiCTTXApp',['ngSanitize','ngStorage']);
app.controller('InfoInterController',函数($scope, $localStorage,$sessionStorage){
$scope.$storage = $localStorage;
$scope.InfoInter = $localStorage.InfoInter;
$scope.newInfoInter = {};
$scope.addInfoInter=function(){
/* AD(added later): I added this line to test and initialize the variable and my issue disapeard */
if (typeof($scope.InfoInter) == 'undefined'){$scope.InfoInter=[]};
$scope.InfoInter.push($scope.newInfoInter);
$scope.newInfoInter = {};
$scope.save();
};
$scope.remove = function(item) {
var index = $scope.InfoInter.indexOf(item);
$scope.InfoInter.splice(item, 1);
};
$scope.save = function() {
$localStorage.InfoInter = $scope.InfoInter;
};
$scope.load = function() {
$scope.InfoInter = $localStorage.InfoInter;
};
});
我没有遇到过那种具体情况,但 LocalStorage 是 Angular 使用的 HTML5 功能,而不是 Angular 本身的功能。因此,它取决于正在使用的浏览器的实现和用户设置 - 您无法控制存储是否(或多长时间)将被持久化。
作为一般规则,您永远不应该假设它会在那里,并且您应该始终编写您的代码,以便它处理您的数据不存在的情况。