我有一个角度应用程序,它使用离子框架,后端使用ui-router.
在我的一个控制器中,我打电话给:
$location.search('filter','sometext');
我在路由配置中禁用了reloadOnSearch.我注意到更新位置不会更新$stateParams.有没有办法强制$stateParams更新位置更新?我查看了ui-router文档,但没有看到任何关于这种情况,但也许我错过了它.
解决方法
我有类似的情况.如果您已禁用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;