我正在开发一个签入应用程序,它使用SQL Server数据库来存储和获取People 如果应用程序处于联机状态,并使用本地存储器在人员离线时存储人员,则会在人员重新联机后将这些更改推送到数据库中。
my controller currently goes like this
function DemoController($scope,localStorageService,$http,$resource,$interval)
{
$scope.online = "";
$scope.checkConnection=function()
{
check=window.navigator.onLine;
if(!check)
{
$scope.online="offline";
return false;
}
else
{
$scope.online="online";
return true;
}
}
if($scope.checkConnection() == true){
$scope.Get = function(){
$http.get(url).success{function(res)
{
$scope.People = res;
$scope.setPeople();
}
}
//基本上是那些人的编辑和删除功能
$scope.setPeople = function() {};
$scope.deletePeople = function(){};
}
else if ($scope.checkConnection == false)
{
// use same methods/functions but with local storage
$scope.pushAll = function (){ %http.put(url)}
//here is the part i do not understand
if checkConnection switches from offline to online
{
$scope.pushAll();
}
}
$scope.intervalCheck = function()
{
var intervalPromise;
intervalPromise = $interval($scope.checkConnection(), 250);
};
$scope.intervalCheck();
}
另一个问题是,即使它从在线切换到离线或反之亦然,我也不会切换它使用的方法(在线/离线方法)。 我不确定是否有正确的方法来实际写这个,但我希望有,如果这太模糊,我可以编辑更多细节的帖子。
答案 0 :(得分:0)
我认为你应该尝试使用cookies。存储离线数据 但是不建议使用cookie中的大量数据,所以要小心。