Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/384.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 避免在ui路由器URL中声明查询参数_Javascript_Angularjs_Angular Ui Router_Query Parameters - Fatal编程技术网

Javascript 避免在ui路由器URL中声明查询参数

Javascript 避免在ui路由器URL中声明查询参数,javascript,angularjs,angular-ui-router,query-parameters,Javascript,Angularjs,Angular Ui Router,Query Parameters,我正在使用ui路由器project来处理我的web应用导航。在我的屏幕中,我有输入小部件(如日期选择器和选择器),它们可以更改url中的查询参数。为此,我声明如下: angular.module('my.project', ['ui.router', 'ngMaterial']) .config(['$stateProvider', function ($stateProvider) { $stateProvider .state('page', {

我正在使用
ui路由器
project来处理我的web应用导航。在我的屏幕中,我有输入小部件(如日期选择器和选择器),它们可以更改url中的查询参数。为此,我声明如下:

angular.module('my.project', ['ui.router', 'ngMaterial'])
  .config(['$stateProvider', function ($stateProvider) {
      $stateProvider
          .state('page', {
             url: '/page?customerid%from%to',
             // rest of state definition
      })});
然后,当屏幕上的情况发生变化时,我使用
$state.go()
。例如,如果from小部件发生更改,我将调用
$state.go('.',{from:fromwidget.text})
,这将更改url


问题是,我有很多可以更改的参数,我觉得在
状态
定义的
url
部分定义这些参数有点多余。我只想声明基本url,在我的例子中,
url:'/page'
,当我调用
$state.go()
更改
$stateParams
并在我的控制器中使用它们时。我不需要预先知道允许传递给状态的确切参数

不确定是否可以使用$stateParams来实现,也许只需使用基本路径定义状态并使用$location获取参数?@Walfrat-感谢您的评论。事实上,如果我不在状态中定义参数,我就不能使用
$state.go()
来更改url。我确实想用这个,只是不想预先定义参数:)你可能会发现这个答案很有用:不确定你是否可以用$stateparms来做,也许只是用基本路径定义状态,然后用$location来获取参数?@Walfrat-谢谢你的评论。事实上,如果我不在状态中定义参数,我就不能使用
$state.go()
来更改url。我确实想使用这个,只是不想预先定义参数:)您可能会发现这个答案很有用: