Nun, eigentlich macht es 100% Sinn, weil HTML sequentiell verarbeitet wird und wenn diese HTML-Seite Zeile für Zeile verarbeitet wird, bis sie zu diesem Bild, der Zeile und der Verarbeitung des Bildes gelangt, phone.imageUrl
ist unsere noch nicht definiert.
Tatsächlich hat Angular JS diesen HTML-Teil noch nicht verarbeitet und noch nicht nach diesen Platzhaltern gesucht und diese Ausdrücke durch die Werte ersetzt. Was am Ende passiert, ist, dass der Browser diese Zeile erhält und versucht, dieses Bild unter dieser URL abzurufen.
Und natürlich ist dies eine gefälschte URL, wenn sie noch diesen Schnurrbart und die geschweiften Klammern enthält, und daher erhalten Sie eine 404, aber sobald Angular sich darum kümmert, ersetzt sie diese URL durch die richtige und dann Wir sehen immer noch das Bild, aber die 404-Fehlermeldung bleibt in unserer Konsole.
Wie können wir uns darum kümmern? Nun, wir können uns nicht mit normalen HTML-Tricks darum kümmern. Aber wir können uns mit Angular darum kümmern. Wir müssen dem Browser irgendwie sagen, dass er nicht versuchen soll, diese URL abzurufen, sondern sie gleichzeitig nur abrufen soll, wenn Angular zur Interpretation dieser Platzhalter bereit ist.
Nun, eine Möglichkeit, dies zu tun, besteht darin, hier ein Angular-Attribut anstelle des Standard-HTML-Attributs zu setzen. Und das Angular-Attribut ist gerecht ng-src
. Wenn wir das jetzt sagen, gehen Sie zurück, Sie werden sehen, dass es keine Fehler mehr gibt, da das Bild erst abgerufen wurde, als Angular diesen HTML-Code gefunden und alle Ausdrücke in ihre Werte übersetzt hat.