2016-04-08 82 views
5

我對AngularJS表達式感到困惑。爲什麼我們在AugularJS中對ng-src使用雙括號?

w3schools.com,我得知

  1. AngularJS表達式可以寫成雙括號內:{{ expression }}
  2. AngularJS表達式也可以在指令裏面寫:ng-bind="expression".

,但爲什麼我們使用ng-src={{...}}代替ng-src="..."

ng-src是處理AngularJS表達式的特例嗎?

+0

請參閱官方文檔:https://docs.angularjs.org/api/ng/directive/ngSrc – R3tep

+0

您是否檢查過我的回答? – Dilip

回答

4

是的,這是ng-src一個特例,因爲它正在等待template參數,是string,其內部有任何內插({{}}),如docs中所述。

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

這取決於如何在指令本身指定。

+0

你說的確有道理! – Galaxy

0

您可以同時使用兩者。 當你在當時綁定某些動態值時,請使用像這樣。

ng-src="{{myVar}}" 

當你綁定靜態值的時候使用像這樣。

<img ng-src="string"></img> 

希望這會讓你清楚。

+0

對於除ng-src之外的指令,例如ng-repeat,ng-model,爲什麼我們不像動態值那樣使用雙大括號? – Galaxy

+0

是的,我知道ng-src是一個特例 – Dilip

相關問題