ember辛烷(3.22+)为什么使用{{on 'click' this.function}}而不是onclick={{this.function}}

zynd9foi  于 2022-11-23  发布在  其他
关注(0)|答案(1)|浏览(75)

因此,在Ember Octane中,有两种方法可以将函数附加到hbs文件中的事件。
对EmberJS道:{{on 'click' this.function}}
经典于飞道:onclick={{this.function}}
Here they suggest using the prior syntax
然而,我看不出为什么要使用这种语法,除非我们有适当的理由这样做。
我使用前者而不是后者的原因是什么?

4nkexdtk

4nkexdtk1#

{{on 'click' this.function}}

使用W3C DOM 1.0规范中的addEventListener语义,并在销毁模板时使用removeEventListener自动清理自身。

onClick={{this.function}}

使用HTML4中较旧的DOM事件语义,
1.不允许多个侦听器
1.不会传播到外部元素
1.从嵌套元素中吞下任何事件

相关问题