Я использую ui.bootstrap typeahead с асинхронным вызовом. Однако полученные данные, похоже, не возвращаются к директиве typeahead, и впоследствии с данными не появляется раскрывающийся список.
HTML-код
<input type="text" ng-model="asyncSelected" placeholder="Search Profile" typeahead="username.username for username in getSearch($viewValue)" typeahead-wait-ms="400" class="form-control">
И функция JS здесь
$scope.getSearch = function (val) {
return $sails.get("/search/" + val).success(function (response) {
console.log(response);
return response.map(function (item) {
console.log(item.username);
return item.username;
});
}).error(function (response) {
console.log('The sails profile search has failed');
});
}
Объект ответа JSON
Object
@type: "d"
id: "#17:3"
username: "Burt"
__proto__: Object
Я использую угловые паруса на клиенте для запроса бэкэнда. Я протестировал код с образцом, приведенным в документации ui.bootstrap, и все работает нормально.
$sails.get также работает, так как console.log(item.username) распечатывает значения.
У меня такое чувство, что это связано с обещанием в функции getSearch.
Любые идеи, почему выпадающий список не появляется?