我有一个可以有许多可选查询参数的路由:
$stateProvider.state("directory.search", {
url: '/directory/search?name&email',
templateUrl: 'view.html',
controller: 'controller'
Run Code Online (Sandbox Code Playgroud)
当用户填写表单以搜索目录时,函数会$scope更改导致控制器重新加载的状态:
$scope.searchDirectory = function () {
$state.go('directory.search', {
name: $scope.Model.Query.name,
email: $scope.Model.Query.email
}, { reload: true });
};
Run Code Online (Sandbox Code Playgroud)
在controller我有一个条件:if($state.params){return data}指示我的服务是否将被查询.
除非用户点击浏览器的前进和/或后退按钮,否则此功能非常有效.在这两种情况下,状态(路由)都会正确更改查询参数,但不会重新加载controller.
根据我的阅读,只有在实际路线发生变化时才会重新加载控制器.反正有没有让这个例子只使用查询参数工作,还是我必须使用不断变化的路线?