Force AngularJS to reload a route although option

2019-01-18 04:03发布

问题:

In the route configuration of my AngularJS application most of the routes are defined with the option reloadOnSearch set to false as most of the time a page should not reload when search parameter changed.

But in rare circumstances I need a different behaviour where I need to reload the URL although only the search parameters changed.

Is there a way to force AngularJS to reload the URL although reloadOnSearch is set to false?

回答1:

I have not tried it, but something that you can try is.

In the $routeUpdate event handler call the $route.reload() method if you know the condition that should cause refresh of route.



回答2:

In case you are trying to force reload when a user clicks a link, set link's target attribute. It will trigger reload regardless of reloadOnSearch=false

<a href="/same_page?different_param=123" target="_self">Reload</a>


回答3:

This is also work

app.controller('appCtrl',function($scope,$window){
           $scope.reload =function(){
               $window.location.reload(); 
           }
})

html

<div ng-click="reload()">reload</div>