ngx gallery 动作 - 点击丢失上下文

ngx gallery action - on click lost the context

我有这样的东西:

let galleryAction = <NgxGalleryAction>{
         icon: this.actionButton,
         onClick: this.actionButtonClicked
};

我的方法 actionButtonClicked 很简单,我必须将附件点击发送到父组件:

actionButtonClicked(event, i) {
        let attachment = this.galleryImages.attachments[i];
        this.galleryActionEmitter.emit(attachment);
    }

不幸的是 "this" 不是我的组件上下文,而是:

显然此代码无法正常工作,因为未找到 "galleryActionEmitter" 变量。

我曾尝试将 "this" 分配给全局变量,但该解决方案会导致其他问题。有什么想法吗?

其实解决方法很简单。 在赋值之前必须将 "this" 绑定到方法回调,如下所示:

this.actionButtonClicked = this.actionButtonClicked.bind(this);

let galleryAction = <NgxGalleryAction>{
         icon: this.actionButton,
         onClick: this.actionButtonClicked
};

一切正常!