2016-09-06 21 views
1

我傳遞存儲在localstorage中的URL參數以獲取特定項目的詳細信息。我想刪除localStorage的變量視圖被加載後,卻什麼我experincing,則加載視圖之前防止數據正確加載在URL完成加載視圖後刪除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

你可以清楚的localStorage當窗口是localStorage的變量被刪除使用jQuery加載完成這樣的:

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

如果你想使用純JavaScript如果頁面加載完成檢測,你可以試試這個選項:https://stackoverflow.com/a/7088499/5709703

0

,你可以使用load事件回調刪除你的localStorage的。
在JavaScript中,使用

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

請確保您有安裝嘗試之前jQuery的,否則你會得到和錯誤。
你可以在Javascript上的窗口對象上了解更多W3School
希望它有幫助!

  • 尼克
1

的角度解決方案可以是這樣:

當位置更改成功,你可以讓你的操作,還可以從哪些路徑你正在添加和你去哪兒控制。

編輯將它放在您的.run()上,告訴我您是否需要關於它的更多信息。

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

here有關$location

+0

我是新來angularjs,你可以把它放在我的腳本的事件的更多信息? – user6579134

+0

你能告訴我你在哪裏評估位置??如果你把這個地方放在每個應該工作的地方,只要控制你可以工作的位置 –

相關問題