En fait, cela a 100% de sens car le HTML est traité séquentiellement et lorsque cette page HTML est traitée ligne par ligne, au moment où elle arrive à cette image, la ligne et le traitement de l'image, notre phone.imageUrl
n'est pas encore défini.
Et en fait, Angular JS n'a pas encore traité ce morceau de HTML, et n'a pas encore cherché ces espaces réservés et substitué ces expressions par les valeurs. Donc, ce qui finit par arriver, c'est que le navigateur obtient cette ligne et essaie de récupérer cette image à cette URL.
Et bien sûr, il s'agit d'une fausse URL, si elle contient toujours ces moustaches et ces accolades, et par conséquent, elle vous donne un 404, mais une fois que bien sûr Angular s'en occupe, il remplace cette URL par la bonne, puis nous voyons toujours l'image, mais pourtant le message d'erreur 404 reste dans notre console.
Alors, comment pouvons-nous nous en occuper? Eh bien, nous ne pouvons pas nous en occuper en utilisant des astuces HTML classiques. Mais nous pouvons nous en occuper en utilisant Angular. Nous devons d'une manière ou d'une autre dire au navigateur de ne pas essayer de récupérer cette URL, mais en même temps de la récupérer uniquement lorsque Angular est prêt pour l'interprétation de ces espaces réservés.
Eh bien, une façon de le faire est de mettre un attribut Angular ici au lieu de l'attribut HTML standard. Et l'attribut angulaire est juste ng-src
. Donc, si nous disons cela maintenant, revenez en arrière, vous verrez qu'il n'y a plus d'erreurs car l'image n'a été récupérée qu'une fois qu'Angular a mis la main sur ce HTML et traduit toutes les expressions dans leurs valeurs.