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
};
一切正常!
我有这样的东西:
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
};
一切正常!