2017-02-03 53 views
1

在角2的文档这是写:什么是(点击)在Angular 2中,如果不是指令?

为什么要创建指令来处理点击时,我们可以写一个简单的 结合像这样? <button (click)="onSave()">Save</button>

如果这不是指令,那么它是什么?他们称之为“简单的绑定”,这与指令有什么不同?我的意思是它仍然是Angular特别处理的东西,所以为什么他们为(click)而不是像Angular 1中的ng-click那样自豪?

回答

6

这是我的理解是,括号(event)语法不是指令,而是一个binding syntax,允许开发人员使用DOM事件,而无需编写一个指令。鉴于ng-click是一个指令,当然。

使用这种新的绑定语法,不需要编写指令来利用DOM事件。有很多DOM events,所以不必为所有人维护一个指令是很好的。值得骄傲的是,IMO。

我希望这可以帮助你。

0

从我的理解来看,关于绑定的规则是这样的,Angular(2)甚至不知道关于点击的明确内容。运行时无法找到名为“click”的其他任何内容(指令,组件),因此它只是添加了DOM单击属性。因为它是(单击)而不是[单击],它会将它添加为onclick,然后浏览器知道如何处理它。

它首先给我一个循环,因为来自AngularJS(1.x),我试图在API参考中找到它们别名的东西(比如点击)。然后我意识到,当我仔细阅读时,他们不需要用他们自己的指令来别名DOM。https://angular.io/docs/ts/latest/guide/template-syntax.html

或者我完全错过了船,这并不会让我感到惊讶。