我正在使用这样的角度实现预输入:
<input type="text" ng-model="bindingValue"
typeahead="item for item in items($viewValue) | filter:$viewValue"
typeahead-wait-ms="{{autocompletionDelay}}"> </input>
在我的控制器中,我使用 $resource 从 ajax 服务中检索字符串数组。为了处理请求的异步性质,我使用了 $q 和 promises。
$scope.items = function (value) {
var d = $q.defer();
var results = $scope.resource.getResults( {text:value }, function() {
d.resolve(results);
});
return d.promise;
}
结果是正确的,除了客户端过滤没有发生。我的文本框中的每个输入都会导致从服务返回的整个数组显示在预先输入的弹出窗口中。
我究竟做错了什么?当我填充我的阵列服务器端时,是否允许我在 html 中使用过滤器?