Что ж, на самом деле это имеет 100% смысл, потому что HTML обрабатывается последовательно, и когда эта HTML-страница обрабатывается построчно, к тому времени, когда она добирается до этого изображения, строки и обработки изображения, наша phone.imageUrl
еще не определена.
Фактически, Angular JS еще не обработал этот кусок HTML и еще не искал эти заполнители и не заменял эти выражения значениями. В результате браузер получает эту строку и пытается получить это изображение по этому URL-адресу.
И, конечно, это поддельный URL-адрес, если в нем все еще есть усы и фигурные скобки, и поэтому он дает вам 404, но как только Angular позаботится об этом, он заменит этот URL-адрес на правильный, а затем мы все еще видим изображение, но сообщение об ошибке 404 остается в нашей консоли.
Итак, как мы можем об этом позаботиться? Что ж, с помощью обычных HTML-уловок мы не можем решить эту проблему. Но мы можем позаботиться об этом с помощью Angular. Нам нужно каким-то образом указать браузеру не пытаться получить этот URL-адрес, а в то же время получать его только тогда, когда Angular готов для интерпретации этих заполнителей.
Что ж, один из способов сделать это - разместить здесь атрибут Angular вместо стандартного атрибута HTML. А атрибут Angular как раз ng-src
. Итак, если мы скажем это сейчас, вернитесь назад, вы увидите, что ошибок больше нет, потому что изображение было получено только после того, как Angular овладел этим HTML и преобразовал все выражения в их значения.