2017-03-13 3 views
0

In meiner Seite habe ich erstellt eine TabelleangularJS - Auswertung erfolgt zu früh?

<span ng-if="row.p3Caption!=''"> 
 
          <img alt="{{row.p3Caption}}" height="32" width="32" 
 
           title="{{row.p3Caption}}" 
 
           src="{{getImageData(row.dailyPic3, row.p3Caption)}}" />

Der getImageData hat den folgenden Code den Code ng-Repeat-Richtlinie und die Tabellenzellen haben:

$scope.getImageData = function (rowData, fileName) { 
 
      var ext = fileName.split('.').pop(); 
 
      if (ext.toLowerCase() == "ico") 
 
       ext = "x-icon"; 
 

 
      return "data:image/" + ext + ";base64," + rowData;    
 
     };

Die Seite l OK im Browser, z. Ich sehe die Bilder in meinen Reihen gut. Doch in der Konsole (in Google Chrome) Ich nehme die folgenden Fehlermeldungen angezeigt:

% 7B% 7BgetImageData (row.dailyPict,% 20row.p1Caption)% 7D% 7D: 1 GET http://localhost:9753/AppName/%7B%7BgetImageData(row.dailyPict,%20row.p1Caption)%7D%7D 404 (nicht gefunden)

Ich sehe auch diesen Fehler erscheinen, bevor ich mit meinem API-Controller-Code fertig bin, der die Daten für das Gitter zurückgibt.

Was kann ich also tun, um diese Fehler in der Konsole zu vermeiden, z. werte ich die Bildquelle erst aus, wenn ich meine Daten bekomme?

Antwort

1

Der Grund, dass die Auswertung zu früh erfolgt, liegt möglicherweise daran, dass die Seite geladen wird, bevor sie die Daten empfängt, aber neu ausgewertet wird, wenn die Daten aus der Datenbindung stammen.

Der Fehler, der gepostet wird, besagt, dass es die Datei nicht finden kann, wo der src ist, da der Pfad eigentlich der fehlgeschlagene Evaluierungstext ist.

Ich glaube, wenn Sie die ng-if ändern, um zu überprüfen, ob es truthy ist (Bonus: '' ist nicht truthy). Das sollte dazu führen, dass die Auswertung nicht erfolgt, wenn row.p3Caption null/undefiniert ist.

wenn ng-if="row.p3Caption" versuchen ng-if="!!row.p3Caption"

+0

Leider hat das nicht geholfen. In beiden Fällen habe ich immer noch den Fehler :( ACCESS.ICO< ! - Ende ngIf: !! row.p1Caption -> Naomi

+0

Meine Idee ist, das Bild nur hinzuzufügen, wenn ich einen fileName in der p1Caption habe, ansonsten zeige ich das Bild nicht an, der Wert in der row.p1Caption wird in diesem Fall eine leere Zeichenfolge sein – Naomi

+0

Ich denke, das Problem ist etwas anders.Es ist das {das wird das erste Mal in Unicode umgewandelt. – Naomi

1

ich durch einen Blick in unsere Lösung löste das Problem nicht funktioniert und in chtml Dateien für src = suchen. Ich muss ng-src anstelle von src verwenden. Die Verwendung von ng-src half dabei, den Fehler zu beheben.

Verwandte Themen