如何处理 ember.js 组件中的自定义事件?

2024-04-26

我是 Ember.js 的新手,在理解其原理时遇到了一些问题。我知道行动向上,数据向下但在现实生活中,假设我有Fotorama http://fotorama.io/在 my-gallery 组件中初始化(我不知道这是否可以,但我是在didInsertElement方法)。这个图书馆有自己的活动。它们在普通 JS 中可能看起来像这样:

$('.fotorama').on('fotorama:ready', function (e, fotorama) {});

or:

$('.fotorama').on('fotorama:show', function () {});

但我觉得在 Ember 中,这些应该以某种方式映射到组件中的操作。 我的问题是:如何?我需要在这些操作中触发一些操作(由其他组件或路由器捕获)。所以我认为应该是这样的:this.sendAction('actionName', actionParams);


您可以保留组件引用来调用 sendAction 方法。

didInsertElement(){
 this._super(...arguments);
 var _this=this;
 this.$('.fotorama').on('fotorama:show', function () {
  _this.sendAction('actionName', actionParams);
 });
}
willDestroyElement(){
 this._super(...arguments);
 this.$('.fotorama').off('fotorama:show')
}

如果我们找到这个问题更好的答案。我很乐意删除我的答案。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何处理 ember.js 组件中的自定义事件? 的相关文章

随机推荐