AngularUI-Bootstraps Typeahead kann die Eigenschaft `length` von` undefined` nicht lesen
Ich erhalte die folgende Fehlermeldung, wenn ich versuche, mit einem Versprechen einen Typeahead-Wert von AngularUI-Bootstrap abzurufen.
TypeError: Cannot read property 'length' of undefined
at http://localhost:8000/static/js/ui-bootstrap-tpls-0.6.0.min.js:1:37982
at i (http://localhost:8000/static/js/angular.min.js:79:437)
at i (http://localhost:8000/static/js/angular.min.js:79:437)
at http://localhost:8000/static/js/angular.min.js:80:485
at Object.e.$eval (http://localhost:8000/static/js/angular.min.js:92:272)
at Object.e.$digest (http://localhost:8000/static/js/angular.min.js:90:142)
at Object.e.$apply (http://localhost:8000/static/js/angular.min.js:92:431)
at HTMLInputElement.Va.i (http://localhost:8000/static/js/angular.min.js:120:156)
at HTMLInputElement.x.event.dispatch (http://localhost:8000/static/js/jquery-1.10.2.min.js:5:14129)
at HTMLInputElement.v.handle (http://localhost:8000/static/js/jquery-1.10.2.min.js:5:10866)
Mein HTML-Tag ist:
<input type="text" class="form-control" id="guestName" ng-model="name" typeahead="name for name in getTypeaheadValues($viewValue)">
Mit meinemgetTypeaheadValues
Funktion, die Folgendes ausführt:
$scope.getTypeaheadValues = function($viewValue)
{
// return ['1','2','3','4'];
$http({
method: 'GET',
url: 'api/v1/person?name__icontains=' + $viewValue
}).error(function ($data) {
console.log("failed to fetch typeahead data");
}).success(function ($data) {
var output = [];
$data.objects.forEach(function (person)
{
output.push(person.name);
});
console.log(output);
return output;
});
}
Ich verstehe nicht, was AngularUI-Bootstrap als undefiniert beklagt. Wenn ich den Kommentar ganz oben entfernereturn
Die Werte werden gut angezeigt. Dasconsole.log
Ausgabe in dersuccess
Geben Sie auch alle erwarteten Werte in einem Array zurück.
Was fehle ich, dass AngularUI-Bootstrap das zurückgegebene Array nicht sehen würde?