除<img/>之外还有另外使用ng-src属性吗?

时间:2013-09-09 17:27:39

标签: angularjs

我有一个Newbie AngularJS问题。我正在检查tutorial,在step 6中有以下代码行:

<a href="#/phones/{{phone.id}}" class="thumb"><img ng-src="{{phone.imageUrl}}"></a>

他们解释说您必须使用ng-src代替src,否则浏览器会按字面意思对待{{phone.imageUrl}}。但是在同一行显示href="#/phones/{{phone.id}}",其中没有使用特殊标记 为什么会这样?这仅适用于<img>代码,或者还有其他情况需要使用ng-scr

1 个答案:

答案 0 :(得分:3)

ng-srcsrc都可以正常使用。唯一需要注意的是,当评估img标记时,可能不会加载角度,因此图像URL对浏览器没有意义。如果您可以保证在浏览器评估img之前加载角度,则可以使用带有角度表达式的src作为源。

这是一个证明这一点的jsFiddle。

http://jsfiddle.net/PkpL3/

HTML:

<div ng-controller="MyCtrl">
    <img src="{{name}}"/>
    <img ng-src="{{name}}"/>
</div>

控制器:

var myApp = angular.module('myApp',[]);

function MyCtrl($scope) {
    $scope.name = 'https://www.google.com/images/srpr/logo5w.png';
}