我有一个角度应用程序正在使用离子框架,它在后端使用ui-router。
在我的一个控制器中,我打电话:
$location.search('filter','sometext');
我的路由配置中禁用了reloadOnSearch。我注意到更新位置不会更新$stateParams
。有没有办法强制$stateParams
更新位置更新?我查看了ui-router文档,但没有看到有关此场景的任何内容,但也许我错过了它。
答案 0 :(得分:5)
我有类似的情况。如果您已禁用reloadOnSearch
,则无法跟踪路线更新,但我找到了此案例的解决方案。
观看$stateParams
:
$scope.$watchCollection('$stateParams', function (newParams) {
var search = $location.search();
if (angular.isObject(newParams)) {
angular.extend(search, newParams);
}
$location.search(search).replace();
});
更改$stateParams
,而不是路线:
$scope.$stateParams.offset += $scope.$stateParams.limit;