在角2的文檔這是寫:什麼是(點擊)在Angular 2中,如果不是指令?
爲什麼要創建指令來處理點擊時,我們可以寫一個簡單的 結合像這樣?
<button (click)="onSave()">Save</button>
如果這不是指令,那麼它是什麼?他們稱之爲「簡單的綁定」,這與指令有什麼不同?我的意思是它仍然是Angular特別處理的東西,所以爲什麼他們爲(click)
而不是像Angular 1中的ng-click
那樣自豪?
在角2的文檔這是寫:什麼是(點擊)在Angular 2中,如果不是指令?
爲什麼要創建指令來處理點擊時,我們可以寫一個簡單的 結合像這樣?
<button (click)="onSave()">Save</button>
如果這不是指令,那麼它是什麼?他們稱之爲「簡單的綁定」,這與指令有什麼不同?我的意思是它仍然是Angular特別處理的東西,所以爲什麼他們爲(click)
而不是像Angular 1中的ng-click
那樣自豪?
這是我的理解是,括號(event)
語法不是指令,而是一個binding syntax,允許開發人員使用DOM事件,而無需編寫一個指令。鑑於ng-click
是一個指令,當然。
使用這種新的綁定語法,不需要編寫指令來利用DOM事件。有很多的DOM events,所以不必爲所有人維護一個指令是很好的。值得驕傲的是,IMO。
我希望這可以幫助你。
從我的理解來看,關於綁定的規則是這樣的,Angular(2)甚至不知道關於點擊的明確內容。運行時無法找到名爲「click」的其他任何內容(指令,組件),因此它只是添加了DOM單擊屬性。因爲它是(單擊)而不是[單擊],它會將它添加爲onclick,然後瀏覽器知道如何處理它。
它首先給我一個循環,因爲來自AngularJS(1.x),我試圖在API參考中找到它們別名的東西(比如點擊)。然後我意識到,當我仔細閱讀時,他們不需要用他們自己的指令來別名DOM。https://angular.io/docs/ts/latest/guide/template-syntax.html
或者我完全錯過了船,這並不會讓我感到驚訝。