#angularjs #typeahead
#angularjs #typeahead
Вопрос:
У меня проблема с директивой typeahead. Я пытаюсь получить данные из своих данных из своего сервиса через $ http.get. В выводе консоли я вижу, что мои данные поступают из сервиса, но я не получаю всплывающее окно результатов.
Вот мой код:
Html шаблон:
<input type="text" class="form-control" placeholder="Kundensuche" ng-model="selectedCompany" typeahead="c for c in companies($viewValue)" typeahead-no-results="noResults" typeahead-min-length="3">
Обслуживание:
var _search = function (route, id) {
return $http.get(serviceBase 'api/' route '/search/' id);
};
serviceHelperFactory.search = _search;
Контроллер:
$scope.companies = function (val) {
var output = [];
var promise = serviceHelper.search('companies', val);
promise.then(function (result) {
result.data.forEach(function (company) {
output.push(company.companyName);
//output.push(company);
});
console.log(output);
}, function (error) {
adminInvoiceService.serviceErrorMessage(error);
});
return output;
}
Спасибо!
Комментарии:
1. Какая у вас версия angularjs и версия ui-bootstrap? Ваш код работает после того, как я изменю ‘typeahead =»c для c в компаниях ($ viewValue)»‘ на ‘uib-typeahead =»c для c в компаниях ($ viewValue)»‘
Ответ №1:
Хорошо, я это исправил! Для всех с той же проблемой вот мое решение!
$scope.companies = function (val) {
return $http.get('http://localhost:5569/api/companies/search/' val).then(function (res) {
var companies = [];
console.log(companies);
res.data.forEach(function (item) {
companies.push(item);
});
console.log(companies);
return companies;
});
};