我使用AngularJS和Elasticsearch构建了一个小型电影搜索应用。
我使用AngularJS UI Bootstrap Typeahead进行自动完成。
我的应用非常简单,hp,结果页面,联系表单。
我想要做的是在搜索输入上使用ngKeydown/ngKeypress
和$state.go
。
我正在寻找的是当用户开始在搜索输入中的hp上键入他们的查询时,页面会转到第一个按键上的结果页面,然后开始显示建议。
这样的事情:
<form>
<input type="text ng-keypress="$state.go('results')">
</form>
答案 0 :(得分:1)
您的控制器的依赖关系在您的HTML中无法神奇地提供。您需要在控制器上创建该函数,并从您的html调用该函数。
控制器:
function myController($scope, $state) {
$scope.navigate = function (destination) {
$state.go(destination);
}
}
HTML:
<form>
<input type="text ng-keypress="navigate('results')">
</form>
答案 1 :(得分:0)
您需要在控制器中注入$ state服务。您只能在html中使用$ scope或$ rootScope对象。因此,您需要在按键或按键调用某些功能并从控制器更改状态。