为什么ngSrc需要图像而不是其他元素?

时间:2016-01-04 04:16:36

标签: angularjs

AngularJS官方教程指出ngSrc

  

阻止浏览器处理Angular {{expression}}标记   从字面上看,并启动对无效网址的请求

但为什么这需要特别针对图像?

3 个答案:

答案 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="" />