将事件绑定到标记元素的最佳实践是什么?在标记中写入事件还是从javascript绑定事件?

将事件绑定到标记元素的最佳实践是什么?在标记中写入事件还是从javascript绑定事件?,javascript,angular,mouseevent,Javascript,Angular,Mouseevent,我的问题是一般性的,但如果我使用Angular 2框架呢? 例如: 一, 二, 三, 四, 五, 假设我有这种模板,我必须在ul的每个li上插入CLICK事件。最好做什么 <li (click)="myFn($event)"> 或 或者从类/js进行绑定?(单击)=“myFn($event)”是执行此操作的Angular2方法。如果您使用*ngFor来创建元素,您不必多次添加(单击)=“…”,我认为这是常见的情况。是的,但是我也可以做您也可以做一些完全不同的事情:D

我的问题是一般性的,但如果我使用Angular 2框架呢? 例如:

  • 一,
  • 二,
  • 三,
  • 四,
  • 五,
假设我有这种模板,我必须在ul的每个li上插入CLICK事件。最好做什么

<li (click)="myFn($event)"> 



或者从类/js进行绑定?

(单击)=“myFn($event)”
是执行此操作的Angular2方法。如果您使用
*ngFor
来创建
  • 元素,您不必多次添加
    (单击)=“…”
    ,我认为这是常见的情况。是的,但是我也可以做
    您也可以做一些完全不同的事情:D您没有解释您的需求是什么。有不同的做事方式,其中大多数都有一个用例。在一种情况下,一种方式更好,在另一种情况下,另一种方式可能更适合。从JS绑定通常是违背最佳实践的。如果您认为从JS绑定是您可能拥有的特定用例的更好方法,那么这是您的职责。因为这种方式可以在组件被销毁时删除事件处理程序。它阻止直接访问DOM。它通常更容易理解,并且使代码更容易阅读,因为它是以角度进行操作的标准方式。
    <li (click)="myFn($event)"> 
    
    <ul (click)="myFn($event.target)">