在角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
或者我完全错过了船,这并不会让我感到惊讶。