首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >回调函数Angular12和电容V-3中的访问类成员

回调函数Angular12和电容V-3中的访问类成员
EN

Stack Overflow用户
提问于 2022-01-11 06:28:48
回答 1查看 55关注 0票数 1

我使用下面的代码导航到父组件上点击“设备硬件回按钮”。我正在使用电容3.0和设备反向按钮正常工作。实际问题是我无法访问回调函数中的类成员。

下面是代码

代码语言:javascript
复制
  export class ConfirmBoxComponent extends DialogContentBase implements OnInit{
     constructor(public dialog: DialogRef, public myService : MyService) {
        super(dialog);
       
      }
      ngOnInit(): void {
        this.handleHardwareBackButton();
      }
     
      public onCancelAction(): void {
        console.log("Cancel confirmed", this.dialog)
        myService.closeDialog();// closeDialog not available thru arrow or callback functions
      }
    
  handleHardwareBackButton(){
   App.addListener('backButton',function(){
    this.onCancelAction() //not able to access onCancelMethod within callback
   })
  }

    }

问题是,我得到的"this.onCancelAction“不是一种方法。此外,我尝试了下面的代码,但没有用。

代码语言:javascript
复制
handleHardwareBackButton(){
   App.addListener('backButton',function(){
    this.dialog.close({ actionConfirmed : false }); //here this line doesn't get executed. Also no errors observed
   }.bind(this))
  }

我哪里出问题了吗?请指导我如何在回调函数中访问类成员?

EN

回答 1

Stack Overflow用户

发布于 2022-01-11 06:39:06

试试这样的..。

代码语言:javascript
复制
export class ConfirmBoxComponent extends DialogContentBase implements OnInit {
    constructor(public dialog: DialogRef) {
        super(dialog);

    }
    ngOnInit(): void {
        this.handleHardwareBackButton();
    }

    public onCancelAction(): void {
        console.log("Cancel confirmed", this.dialog)
        this.dialog.close({ actionConfirmed: false });
    }

    handleHardwareBackButton() {
        App.addListener('backButton', () => {
            this.onCancelAction() //not able to access onCancelMethod within callback
        })
    }
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70662466

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档