AngularUI-Bootstrap's Typeahead kann `length` nicht lesen Eigenschaft von` undefined`

Ich erhalte die folgende Fehlermeldung, wenn ich Versuch, eine typeahead-Werte aus AngularUI-Bootstrap, mit einem Versprechen.

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) 

Meine HTML-tag ist:

<input type="text" class="form-control" id="guestName" ng-model="name" typeahead="name for name in getTypeaheadValues($viewValue)">

Mit meinem getTypeaheadValues Funktion wie folgt:

$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 ist beschweren sich über als nicht definiert. Wenn ich entfernen Sie den Kommentar auf der obersten return die Werte in Ordnung. Die console.log Ausgabe in der success auch wieder alle Werte erwarte ich in einem array.

Was bin ich, würde dazu führen, AngularUI-Bootstrap nicht sehen, das zurückgegebene array?

InformationsquelleAutor der Frage Evil Closet Monkey | 2013-10-22

Schreibe einen Kommentar