2017-06-16 60 views
1

[值] =「 無功」 可能有人向我解釋什麼是= 「{{VAR}} 」和AngularJS

value="{{var}}" vs [value]="var" 

感謝之間的差異。

+2

第一個看起來類似於angular中的模板化,其中var將是大括號中的get被替換的值,第二個看起來很奇怪,至多我可以在聲明中將它看作對象的命名屬性,但是,更多的上下文可以做奇蹟;) – Icepickle

+1

https://angular.io/guide/template-syntax#a-new-mental-model – cartant

+1

當我使用第一個我在我的代碼中有一些問題。 ngSelected無法正常工作。所以我想看看兩者如何在後端工作的解釋。無論如何感謝 –

回答

1

根據https://angular.io/guide/template-syntax#a-new-mental-model

2種托架類型表示數據流的2個不同的方向。

[靶標] =「表達」,是說大聲爲「綁定目標」和(目標)=「語句」爲「目標」

結合靶,結合您的JavaScript模型視圖。

on target,隨着視圖的變化引發一個事件到你的JavaScript模型。

您可以將它們組合起來以創建綁定目標,這樣做既可以。

https://angular.io/guide/template-syntax#property-binding-or-interpolation

值= 「{{VAR}}」 是一個內插的結合。它的使用方式與[attr.value] =「var」

具有這些細微的差異。

value =「{{var}}」或者使用{節點}內容中的{{}},僅適用於字符串。

{{}}存在於角度中的事實意味着他們需要做更多的工作處理模板,但由於這項工作已經沉沒,因此您可以隨意使用{{}},使其更具意義並提高可讀性沒有太多的性能問題。

如果需要綁定到非字符串屬性,則需要改爲使用屬性綁定語法。

我建議堅持使用屬性綁定語法[value] = "var",因爲它可以讓您使用2種不同的定向綁定,而無需太多的精力開銷。

+0

謝謝。我在使用value =「{{var}}」時遇到了一些麻煩.. –

+0

很抱歉,大量的編輯。我的角度有點生疏,所以我正在驗證信息。 –