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没有公布他的州配置,这是他所能阐述的最多的内容。