Bene, in realtà ha senso al 100% perché l'HTML viene elaborato in sequenza e quando questa pagina HTML viene elaborata riga per riga, quando arriva a questa immagine, la riga e l'elaborazione dell'immagine, il nostro phone.imageUrlnon è ancora definito.
E infatti, Angular JS non ha ancora elaborato questo pezzo di HTML e non ha ancora cercato questi segnaposto e sostituito queste espressioni con i valori. Quindi quello che finisce per accadere è che il browser riceve questa riga e cerca di recuperare questa immagine a questo URL.
E ovviamente questo è un URL fasullo, se ha ancora quei baffi e parentesi graffe, e quindi ti dà un 404, ma una volta che ovviamente Angular si prende cura di questo, sostituisce questo URL con quello corretto, e poi vediamo ancora l'immagine, ma il messaggio di errore 404 rimane nella nostra console.
Quindi, come possiamo occuparcene? Bene, non possiamo occuparci di questo usando normali trucchi HTML. Ma possiamo occuparcene usando Angular. Abbiamo bisogno in qualche modo di dire al browser di non provare a recuperare questo URL ma allo stesso tempo di recuperarlo solo quando Angular è pronto per l'interpretazione di questi segnaposto.
Bene, un modo per farlo è mettere qui un attributo Angular invece di quello HTML standard. E l'attributo Angular è giusto ng-src. Quindi se lo diciamo ora, torna indietro, vedrai che non ci sono più errori perché l'immagine è stata recuperata solo una volta che Angular ha acquisito questo HTML e ha tradotto tutte le espressioni nei loro valori.