我传递存储在localstorage中的url参数以获取特定项目的详细信息。我想在加载视图后删除localstorage变量,但我正在经历的是,在加载视图之前删除localstorage变量,阻止数据正确加载
$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")
答案 0 :(得分:1)
Angular解决方案可以是这样的:
当位置变化成功后,您可以进行操作,也可以控制您的路径以及您要去的地方。
编辑将此信息放在.run()
上,告诉我您是否需要更多相关信息。
$rootScope.$on('$locationChangeSuccess', function(ev, newUrl, oldUrl, newState, oldState){
if(newUrl === '/myLocation/To/Delete'){
localStorage.clear();
}
});
请参阅here有关$location
答案 1 :(得分:0)
当窗口加载jQuery时,你可以清除localStorage:
$(window).load(function () {
localStorage.clear();
});
如果您想使用纯JavaScript来检测网页是否已完成加载,您可以尝试以下选项:https://stackoverflow.com/a/7088499/5709703
答案 2 :(得分:0)
您可以使用加载事件回调来删除localStorage
在javascript中,使用
$(window).load(function() {
//What you need to do.
})
确保在尝试之前安装了Jquery,否则你会得到错误 您可以在W3School上的Javascript中了解有关窗口对象的更多信息 希望它有所帮助!