我是 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(使用前将#替换为@)