Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/425.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/8/python-3.x/19.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 在用户界面路由器处于手动状态时更改状态_Javascript_Angularjs_Angular Ui Router - Fatal编程技术网

Javascript 在用户界面路由器处于手动状态时更改状态

Javascript 在用户界面路由器处于手动状态时更改状态,javascript,angularjs,angular-ui-router,Javascript,Angularjs,Angular Ui Router,我的应用程序中有一个搜索栏。每当用户进行搜索时,我希望状态更改为/#/search/:query 为此,我将以下函数附加到作用域,并在进行查询时触发它: this.searchItem = function searchItem(item) { $state.go('#/search/' + item) } 但是,这会导致以下错误: Error: Couldn't resolve '#/search/query' from state (current state) at object.t

我的应用程序中有一个搜索栏。每当用户进行搜索时,我希望状态更改为
/#/search/:query

为此,我将以下函数附加到作用域,并在进行查询时触发它:

this.searchItem = function searchItem(item) {
  $state.go('#/search/' + item)
}
但是,这会导致以下错误:

Error: Couldn't resolve '#/search/query' from state (current state) at object.transition.To
我的代码有什么问题?如何在不使用ui路由器锚的情况下更改状态


非常感谢

当您需要传递州名时,您正在传递URL。有关示例,请参见。

传递州名称而不是url

this.searchItem = function searchItem(item) {
  $state.go('search', {
    keyword: item
  });
}
假设路由中有此状态配置

$stateProvider.state('search', {
  url: '/search/:keyword'
})

您可以在这里检查我的示例repo:

如前所述,您需要将状态的名称传递给
go
函数:
$state.go(“搜索”,“查询”:item})将此作为评论发表并建议对问题进行改进不是更合适吗?我想我已经回答了这个问题,除非我误解了它。他试图在控制器内(可能)转换到不同的状态,而不是在视图中使用ui sref。它不起作用的原因是,他传递的是一个URL,而不是他需要转换到的州的名称。“你做错了”如何帮助未来的寻求答案者?要么问题“离题”,应该更正,要么你的回答不够具体,没有帮助。这有意义吗?该网站的目的不是为了询问者的利益,而是为了让每个试图完成类似任务的人都能理解。我不理解@shmiddy在答案上的问题。“你做错了”是OP最初提出问题的原因。纳特沃班克说,“你需要传递州名”,由于OP没有公布他的州配置,这是他所能阐述的最多的内容。