[英]AngularJS: Hashbang URL keeps appending to itself on full refresh
[英]On refresh remove hashbang from URL in angularjs
當導航更改路線時使用angularjs的站點時,它會在末尾添加一個hashbang,並且可以在刷新時恢復狀態(這非常酷)。
但是在我的特定項目中,我希望刷新時加載主路由(就像沒有hashbang一樣)。
這可能嗎?
您可以通過使用服務或多個控制器來執行此操作。 IMO最簡單的方法是在每個頁面上設置一個簡單的控制器和服務。
像這樣:
<div style='display:none;' ng-controller='RefreshController'></div>
服務:
.factory('redirect',function($rootScope){
var rScope={};
rScope.redirect=true;
rScope.set=function(){
rScope.redirect=false;
};
rScope.get=function(){
return rScope.redirect;
};
return rScope;
});
控制器:
function RefreshController($location,redirect){
if($location.path()=='/'){
redirect.set()
}
if(redirect.get()){
$location.path('/');
}
}
簡而言之,如果您位於主頁上,它將設置一個服務變量以表示您位於主頁上。 只要不進行刷新,服務變量狀態將是靜態的。 如果刷新完成並且您當前不在主頁上,則服務變量將有所不同,並且用戶將被重定向到主頁。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.