Ich benutze Angular-ui Bootstrap für meine Anwendung. Ich benutze die Typahead-Direktive.Typahead eckig ui - Eigenschaft 'Länge' von undefined nicht lesen
html:
<input type="text" class="pass_code_input" ng-model="SuppPrefix" Typeahead="ddl_item.Text for ddl_item in getData($viewValue)"/>
-Controller
function AutoCompleteCtrl($scope,$http, AutoCompleteSrv) {
$scope.getData = function (prefix) {
AutoCompleteSrv.GetAutoComplete("Supplier", prefix).then(function (result) {
var results_arr = [];
angular.forEach(result.data, function (item) {
results_arr.push({ "Val": item.Val, "Text": item.Text });
});
return results_arr
});
};
};
Service:
function AutoCompleteSrv($http) {
var _$http = $http;
self = this;
self.GetAutoComplete = function (DataType, Prefix) {
var promise = _$http({
method: "GET",
url: 'api/AutoComplete',
params: { 'DataType': DataType, 'Prefix': Prefix }
}).success(function (data, status, headers, config) {
}).error(function (data, status, headers, config) {
});
return promise;
};
};
ich die Daten noch empfangen von Server, aber ich kann es nicht auf dem Bildschirm anzeigen. Wenn ich Debugger in Chrom Entwickler-Tools laufen, bekomme ich den nächsten Fehler:
TypeError: Cannot read property 'length' of undefined
at http://localhost:52145/js/libs/ui-bootstrap-tpls-0.11.0.min.js:13:12650
at m.promise.then.u (http://localhost:52145/js/angular/angular.min.js:97:280)
at m.promise.then.u (http://localhost:52145/js/angular/angular.min.js:97:280)
at http://localhost:52145/js/angular/angular.min.js:98:417
at h.$eval (http://localhost:52145/js/angular/angular.min.js:108:482)
at h.$digest (http://localhost:52145/js/angular/angular.min.js:106:62)
at h.$apply (http://localhost:52145/js/angular/angular.min.js:109:287)
at HTMLInputElement.l (http://localhost:52145/js/angular/angular.min.js:133:191)
at http://localhost:52145/js/angular/angular.min.js:31:32
at q (http://localhost:52145/js/angular/angular.min.js:7:386)
Ich habe an mehreren Stellen für Lösung gesucht, wie that, und auch die Anweisungen in der Bootstrap-ui-Homepage gefolgt Schritt für Schritt. Was habe ich falsch gemacht?
Sie geben keine Daten in der Erfolgsmethode zurück, aber erwarten es in Ihrem Controller – harishr
Ich versuchte, dass es nicht half. Auch wenn ich debuggen sehe ich die Daten in der Steuerung (es kommt mit dem Versprechen). Die Daten wurden sogar vom Controller zurückgegeben, aber dann bekomme ich diesen Fehler. – Lichte
Können Sie bitte einen Plünderer einrichten, würde Ihnen schnelle Auflösung – harishr