在角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,角度分析器确实为我们绑定事件背后的场景。 –