在角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. 屬性定義中括號的含義是什麼?
- 3. Angular 2中的組件是什麼
- 4. XML屬性中的問號是什麼?
- 5. Angular 2應用程序中組件的「inputs」屬性的原因是什麼?
- 6. 爲什麼在(android)中的括號(WebView)
- 7. eclipse angular 2插件中的tern特性是什麼?
- 8. 單花括號中的屬性文件
- 9. Angular 2中表達式中問號的含義是什麼?
- 10. 圍繞屬性值的方括號是什麼?
- 11. Angular 2中的Touchmove事件
- 12. xaml.cs中的2個括號是什麼意思?
- 13. 方括號中的(屬性)參數
- 14. Java中的空花括號/大括號是什麼意思?
- 15. 爲什麼2 /// 2在Javascript中是2?
- 16. 爲什麼使用點*和*括號訪問來分配屬性?
- 17. 指令屬性中的大括號,angularJS
- 18. 爲什麼使用javabean綁定的屬性而不是事件?
- 19. 在清單文件中括號的含義是什麼
- 20. 爲什麼EC.element_to_be_clickable((By.CSS_SELECTOR,「css_selector」)))中有2個括號?
- 21. 在TypeScript中屬性旁邊的&(&符號)是什麼意思
- 22. 訪問Angular 2中的DOM屬性
- 23. HTML名稱屬性中的大括號
- 24. 爲什麼Angular 2比Angular 1有更好的性能?
- 25. Angular $ .grep()方法的Angular 2中的等價方法是什麼?
- 26. C++爲什麼括號?
- 27. 在SQL中,使用帶括號的圓括號是什麼意思?
- 28. 在JavaScript/jQuery中,括號中的代碼塊是什麼意思?
- 29. PHP對象屬性中有括號
- 30. 冒號在HTML id屬性中是什麼意思?
我認爲將3.添加到我的答案中,但實際上並沒有真正相關,因爲'(xxx)=「yyy」'永遠不會添加到DOM,並且只能由Angular內部處理。 –
正確,雖然它的有效性,但它不會添加(事件)到DOM,角度分析器確實爲我們綁定事件背後的場景。 –