次のように角度を使用してタイプヘッドを実装しています。
<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 でそのようなフィルターを使用することはできますか?