在Angular 2的文档中写道:
为什么在我们编写简单的代码时创建一个处理单击的指令 像这样绑定?
<button (click)="onSave()">Save</button>
如果这不是指令,那么它是什么?他们称之为&#34;一个简单的绑定&#34;,这与指令有什么不同?我的意思是它仍然是Angular处理的特殊内容,那么他们为什么如此自豪,而不是{1}}而不是{1}},就像在Angular 1中一样?
答案 0 :(得分:6)
我的理解是,括号 (event)
语法不是指令,而是binding syntax,它允许开发人员使用DOM事件而无需编写指令。然而,ng-click
当然是指令。
使用这种新的绑定语法,无需编写指令来利用DOM事件。有{em>很多 DOM events,所以不必维护所有这些指令很好。还有一件值得骄傲的事,IMO。
我希望这可以帮助你。
答案 1 :(得分:0)
根据我的理解,关于绑定的规则是这样的,Angular(2)甚至不知道关于click的显式内容。运行时找不到名为“click”的任何其他内容(指令,组件),因此它只是添加了一个DOM click属性。因为它是(点击)而不是[点击],它将其添加为onclick,然后您的浏览器知道如何处理它。
首先它让我陷入了一个循环,因为来自AngularJS(1.x),我试图在API参考中找到他们别名的DOM(比如点击)。然后我意识到当我仔细阅读时,他们不需要使用自己的指令对DOM进行别名https://angular.io/docs/ts/latest/guide/template-syntax.html
或者我完全错过了这艘船,这不会让我感到惊讶。