【发布时间】:2016-01-04 12:23:28
【问题描述】:
AngularJS 官方教程指出 ngSrc
阻止浏览器处理 Angular {{ 表达式 }} 标记 从字面上看,并向无效 URL 发起请求
但是为什么专门用于图像呢?
【问题讨论】:
标签: angularjs
AngularJS 官方教程指出 ngSrc
阻止浏览器处理 Angular {{ 表达式 }} 标记 从字面上看,并向无效 URL 发起请求
但是为什么专门用于图像呢?
【问题讨论】:
标签: angularjs
因为浏览器会在 angularjs 重写 url 之前解释 dom,并且会尝试加载字面上称为 {{ expression }} 的资源,这当然是错误的,因为它甚至不是 url。使用ngSrc,angular会尽快填充img标签的src属性。
【讨论】:
刚刚找到答案...
这里的问题是浏览器会为此触发一个请求 一碰到img标签就无效的图像地址,这是之前 Angular 有机会评估表达式并注入有效的 地址。
【讨论】:
当你使用 src 和表达式时,它是不可解析的:
<img src="{{expression}}" alt="" />
会导致文件路径出错。
但是使用 ngSrc,表达式会被 angularjs 解析,像 url 这样的表达式的值会被解析并显示为 html 中的最终结果:
<img src="{{expression}}" alt="" />
将根据您的表达式生成其文件路径的 url,这将是这样的:
<img src="images/path.jpg" alt="" />
【讨论】: