2017-08-25 2 views
1

Ich habe eine Eingabe mit einem Datenlogger verbunden. Die Datenliste wird beim Laden der Seite durch eine eckige Abrufanforderung gefüllt.

<input list="info" /> 
<datalist id="info"> 
    <option ng-repeat="diagnosis in diagnoses" value="{{diagnosis.data}}"> 
</datalist> 

Die $http Anfrage ist einfach:

$http.get('/diagnoses').then(function (response) { 
    $scope.diagnoses = response.data; 
}) 

und die Informationen zeigt im Quellcode auf. Der Datalist zeigt jedoch keine übereinstimmende Option an, wenn ich tippe. Ich verstehe, dass die Ansicht aktualisiert werden muss, um dem Modell zu entsprechen, aber das Aufrufen von $scope.$digest() löst stattdessen einen Fehler aus.

$ rootScope: inprog Aktion bereits im Gange

Und $scope.$apply() Aufruf tut nichts. Irgendwelche Ideen?

+1

Sie scheinen '$ scope.diagnoses' überhaupt nicht in Ihrer Vorlage zu verwenden. Sie verwenden '$ scope.info', obwohl – Phil

+0

Es ist tatsächlich, was ich benutze. Ich habe einfach die generische Funktion eingegeben, ohne darüber nachzudenken. Es tut uns leid. – Michael

Antwort

3

Sie

<option ng-repeat="data in diagnoses" value="data"> 
+0

Ich benutze das tatsächlich. Ich habe einfach die generische Funktion mit generischen Variablen eingegeben, ohne nachzudenken. Ich habe den Beitrag bearbeitet, um das zu reflektieren. – Michael

+0

Können Sie einen Plünderer schaffen? – Sajeetharan

0

Es stellte sich heraus verwenden sollte, war ich ein Narr. Ich wusste nicht, dass ich einen Bindestrich in einem meiner Eigenschaften hatte, den ich anzeigen wollte, weil er aus einer MongoDB-Datenbank stammte. Das Entfernen des Bindestrichs vom Eigenschaftsnamen hat alles repariert.

Verwandte Themen