ngx图库操作-单击后失去上下文

时间:2018-08-10 08:17:02

标签: angular onclick attachment image-gallery

我有这样的东西:

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

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

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

不幸的是,“ this”不是我的组件上下文,而是: enter image description here

显然,由于找不到“ galleryActionEmitter”变量,此代码无法正常工作。

我曾尝试将“ this”分配给全局变量,但是该解决方案引起了其他问题。有什么想法吗?

1 个答案:

答案 0 :(得分:0)

实际上,解决方案非常简单。 在分配之前,有必要将“ this”绑定到方法回调,例如:

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

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

一切正常!