在url完成加载视图后删除localstorage

Delete localstorage after url have finished loading view

本文关键字:删除 localstorage 视图 加载 url      更新时间:2023-09-26

传递存储在localstorage中的url参数以获取特定项目的详细信息。我想在加载视图后删除本地存储变量,但我所经历的是,本地存储变量在加载视图之前被删除,阻止数据正确加载

$scope.pushpayment_id = localStorage.getItem("pushpayment_id")
$scope.pushshop_id = localStorage.getItem("pushshop_id")
$scope.pushmessage = localStorage.getItem("push_message")
var startapp=function() {
  if($scope.pushmessage== "payment"){
    $location.path('/tab/new_payment_push/'+ $scope.pushpayment_id + '/' + $scope.pushshop_id);
  }
}
localStorage.removeItem("pushpayment_id")
localStorage.removeItem("pushshop_id")
localStorage.removeItem("push_message")

Angular的解决方案可以是这样的:

当位置成功改变时,您可以进行操作,也可以控制您从哪条路径来,到哪里去。

编辑把这个放在你的.run()上,如果你需要更多的信息告诉我。

 $rootScope.$on('$locationChangeSuccess', function(ev, newUrl, oldUrl, newState, oldState){
       if(newUrl === '/myLocation/To/Delete'){
           localStorage.clear();
       }       
  });

查看这里$location事件的更多信息

当窗口加载完成时,你可以像这样清除localStorage:

$(window).load(function () {
    localStorage.clear();
});

如果您想使用纯javascript来检测页面是否完成加载,您可以尝试这个选项:https://stackoverflow.com/a/7088499/5709703

你可以使用load事件回调来删除你的localStorage。
在javascript中,使用

$(window).load(function() {
    //What you need to do.
})

在尝试之前确保你已经安装了Jquery,否则你会得到和错误。
你可以在W3School上学习更多关于Javascript窗口对象的知识。希望能有所帮助!

  • 网卡