AngularJS官方教程指出ngSrc
阻止浏览器处理Angular {{expression}}标记 从字面上看,并启动对无效网址的请求
但为什么这需要特别针对图像?
答案 0 :(得分:1)
刚刚找到答案......
这里的问题是浏览器会触发请求 一旦它到达之前的img标签,它就会无效的图像地址 Angular有机会评估表达式并注入有效表达式 地址。
答案 1 :(得分:1)
因为浏览器会在angularjs重写url之前解释dom,并尝试加载字面上称为{{ expression }}
的资源,这当然是一个错误,因为它甚至不是一个url。使用ngSrc
,angular会尽快填充src
标记的img
属性。
答案 2 :(得分:0)
当你使用src和expression时,它是不可解析的:
<img src="{{expression}}" alt="" />
将导致其文件路径出错。
但是使用ngSrc,表达式由angularjs解析,像url这样的表达式的值将被解析并显示为html中的最终结果:
<img src="{{expression}}" alt="" />
将导致其文件路径的url取决于您的表达式,这将是这样的:
<img src="images/path.jpg" alt="" />