在我的AngularJS应用程序的路由配置中,大多数路由都定义为选项reloadOnSearch
设置为false
,因为大多数情况下,当搜索参数更改时页面不应重新加载。
但在极少数情况下,我需要一个不同的行为,我需要重新加载URL,尽管只更改了搜索参数。
虽然reloadOnSearch
设置为false
,但有没有办法强制AngularJS重新加载网址?
答案 0 :(得分:15)
我没有尝试过,但你可以试试的是。
如果您知道应该导致刷新路由的条件,请在$routeUpdate
事件处理程序中调用$route.reload()
方法。
答案 1 :(得分:13)
如果您在用户点击链接时尝试强制重新加载,请设置链接的目标属性。无论reloadOnSearch = false
,它都会触发重载<a href="/same_page?different_param=123" target="_self">Reload</a>
答案 2 :(得分:2)
这也是工作
app.controller('appCtrl',function($scope,$window){
$scope.reload =function(){
$window.location.reload();
}
})
HTML
<div ng-click="reload()">reload</div>