在角1中,例如,我們會在元素內部說ng-click="wasClicked()"
, 但現在我們說(click)="wasClicked()"
。爲什麼是這樣?我想到的唯一想法是Angular 2不必爲每個元素事件都有一個屬性,即任何由括號包圍的東西都將被處理,無論是否存在一個有意義的處理程序?爲什麼在Angular 2中是括號中的事件屬性?
3
A
回答
2
有各種不同的點決定()
事件
()
括號爲event
意義,因爲角2取代通過單糖的語法差不多(20)event
A1指令。- 您也可以在圓括號內有任何customEvent名稱
(myCustomEvent)="myHandler($event)"
($event
是事件對象)。 - 通過在HTML中將
()
視爲有效的HTML。
旁註
作爲像()
括號替換由單個()
括號語法糖同樣[]
屬性的結合也取代16
角指令數A1 20指令。
真棒Misko's Video解釋他爲什麼決定()
事件& []
爲屬性綁定。
2
有很長的討論應該使用什麼語法。最後()
被決定。
在Angular2中沒有針對每個受支持事件的特定指令。
(click)="clickHandler($event)"
註冊clickHandler
方法處理程序click
事件,其中click
可以是任何有效的事件名稱,也是自定義事件。
爲任何元素未發出的事件註冊處理程序也是有效的。正如你在下面看到的,你無法預先知道什麼事件被解僱了。
這增加了很大的靈活性,因爲新事件不需要任何代碼更改或新指令。
例如,你可以調用
element.dispatchEvent(new CustomEvent('my-xxx-event', { bubbles: true }));
,並聽取使用
(my-xxx-event)="doSomething($event)
沒有任何額外的工作。
+0
是的,如我懷疑。謝謝。 – ProfK
相關問題
- 1. Angular 2組件中'controllerAs'指令屬性的模擬是什麼?
- 2. java屬性文件中的大括號是什麼意思?
- 3. 什麼是在源屬性值HTML中的方括號使用
- 4. 爲什麼在UnitTest中的TestMethod屬性上放置圓括號
- 5. 爲什麼在input元素的name屬性中使用括號?
- 6. MySQL中整數括號中屬性的用途是什麼?
- 7. 屬性定義中括號的含義是什麼?
- 8. Angular 2中的組件是什麼
- 9. XML屬性中的問號是什麼?
- 10. Angular 2應用程序中組件的「inputs」屬性的原因是什麼?
- 11. eclipse angular 2插件中的tern特性是什麼?
- 12. Escape 2大括號/ Angular JS大括號
- 13. 爲什麼在(android)中的括號(WebView)
- 14. 單花括號中的屬性文件
- 15. Angular 2中表達式中問號的含義是什麼?
- 16. 什麼是(&) - 括號中的括號 - 是否代表此代碼?
- 17. Angular 2中的Touchmove事件
- 18. 圍繞屬性值的方括號是什麼?
- 19. Angular 2模板中的let *是什麼?
- 20. Angular 2中的A2tUiModule是什麼?
- 21. xaml.cs中的2個括號是什麼意思?
- 22. Python OOP:__init __()括號中的屬性和
- 23. 爲什麼2 /// 2在Javascript中是2?
- 24. 方括號中的(屬性)參數
- 25. Java中的空花括號/大括號是什麼意思?
- 26. 爲什麼使用點*和*括號訪問來分配屬性?
- 27. 爲什麼xforms-submit-error事件屬性總是空的?
- 28. 爲什麼使用javabean綁定的屬性而不是事件?
- 29. 爲什麼某些DataMember屬性有括號,而其他DataMember屬性沒有?
- 30. 在清單文件中括號的含義是什麼
我認爲將3.添加到我的答案中,但實際上並沒有真正相關,因爲'(xxx)=「yyy」'永遠不會添加到DOM,並且只能由Angular內部處理。 –
正確,雖然它的有效性,但它不會添加(事件)到DOM,角度分析器確實爲我們綁定事件背後的場景。 –