我在angularjs应用程序中为ui路由器状态配置了以下配置。
$locationProvider.html5Mode(true);
$stateProvider
.state('index', {
url: '/index?zoom¢er',
views: {
'map': {
controller: 'MapCtrl',
templateUrl: 'map.html'
}
},
reloadOnSearch:false
});
但是,浏览器中的后退按钮会转到不同的URL,但是我需要使用url作为stateParams重新加载页面。
例如: User1转到第http://www.example.com/index?zoom=2¢er=1,2页。 然后他在页面中进行操作,网址变为http://www.example.com/index?zoom=12¢er=3,4
然后他按下后退按钮,url更改为上一个,但我需要重新加载我的页面让控制器读取查询参数以做正确的事情...
任何方式让它与浏览器后退/前进一起使用?
答案 0 :(得分:1)
您是否尝试将reloadOnSearch
设置为true?如果这不能满足您的需求,请查看以下问题:Force AngularJS to reload a route although option reloadOnSearch is set to false
更简单的替代方法可能是在必要时使用window.location = newUrl强制重新加载。