[英]Difference between binding and directive
我們來看下面的例子。 將元素添加到元素有兩種方法:
類綁定
<div [class]="currentClasses">Hello world #1</div>
類指令
<div [ngClass]="settings">Hello world #1</div>
類綁定和類指令之間的底層功能有什么區別? 最初我認為綁定只是寫入某個對象的屬性,但HTMLElement上沒有這樣的屬性class
,它是className
,所以這種推理可能是錯誤的。 它當然不僅僅為DOM元素添加了一個class
屬性,因為相同的語法用於將值綁定到組件類字段。
這些也是我頭腦中彈出的問題:我可以實現自定義綁定嗎? []
綁定后面使用了什么機制?
我當然明白ngClass
具有復雜的功能,比如跟蹤組件類的屬性,而class
綁定只是添加了類。 但這個問題不是關於應用程序,而是關於它們如何在內部實現。
[class.xxx]
, [attr.xxx]
, [style.xxx]
是特殊的Angular2模板語法,由Angular2直接處理。 這不是可擴展的,只有Angular支持。
另一方面, [ngClass]
是一個指令,你可以自己構建它。 它默認包含在Angular2中。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.