【发布时间】:2017-11-22 05:01:44
【问题描述】:
我的引导输入如下:
<input id="inputId" type="text" ng-model="selected" typeahead="name for name in getSuggestions($viewValue) " typeahead-on-select="typeaheadOnSelect($item)" ng-trim="false">
getSuggestions() 返回一个承诺,如下所示:
$scope.getSuggestions = viewValue => {
let deferred = $q.defer();
getSuggestions(viewValue).then(words => {
deferred.resolve(words); // array of strings
})
.catch(()=>{
deferred.reject([]);
});
return deferred.promise;
};
注意:当 getSuggestions() 返回一个数组而不使用任何承诺时,预输入工作正常。
【问题讨论】:
-
$scope.getSuggestions返回一个 Promise,对……所以,它不会返回一个您可以使用的数组 -
@JaromandaX 预输入与 Promise 配合得很好。我可以这么说是因为预输入弹出窗口有时会出现,虽然很少。
标签: javascript twitter-bootstrap promise typeahead bootstrap-typeahead