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