ng-src是否还将src属性添加到图像标记?

时间:2017-02-21 07:16:45

标签: angularjs angularjs-directive angularjs-scope

我有像<img class="testClass" ng-src="{{ImagePath}}" alt="{{imageName}}" />

这样的图像的角度代码

但是,在页面加载后,我会看到src标记的img属性,如下所示。

<img class="testClass" ng-src="/files/imageName_1.jpg" alt="Image 1" src="/files/imageName_1.jpg">

那么,默认情况下还会添加src属性吗?

示例jsfiddle http://jsfiddle.net/wktwL/5/

如果我们检查输出图像上的元素,我们可以看到ng-src和src属性。

3 个答案:

答案 0 :(得分:2)

是的,angular为所有有效的ng- *指令添加了适当的HTML标记属性。

基本上,你添加&#39; ng-src&#39;一个元素;当angular开始解析HTML时,它遇到了&#39; ng-src&#39;属性它试图找到已注册的&#39; ngSrc&#39;当发现它调用该指令并且该指令的逻辑添加了src标记时。

来自AngularJS网站:

  

在src属性中使用{{hash}}之类的AngularJS标记并不正常:浏览器将使用文字文本{{hash}}从URL中获取,直到AngularJS替换{{hash}中的表达式为止}。 ngSrc指令解决了这个问题。

     

写它的错误方法:

     

<img src="http://www.gravatar.com/avatar/{{hash}}" alt="Description"/>

     

写它的正确方法:

     

<img ng-src="http://www.gravatar.com/avatar/{{hash}}" alt="Description" />

答案 1 :(得分:0)

是的,AngularJS为有效的ng- *指令添加适当的HTML标记属性。 AngularJs始终将指令转换为html标记。

答案 2 :(得分:0)

是的,我看到角度实现和文档的方式,angular将src属性添加到img标记以及ng-src属性