Javascript 离子2的BackgroundMode插件未定义

Javascript 离子2的BackgroundMode插件未定义,javascript,typescript,ionic-framework,ionic2,Javascript,Typescript,Ionic Framework,Ionic2,我已经按照Ionic 2文档中的描述正确安装了BackgroundMode插件 使用以下代码: this.backgroundMode.on('enable').subscribe(()=>{ console.log("BG Mode ENABLED"); setTimeout(function(){ try{ console.log("BG Active"+this.backgroundMode.

我已经按照Ionic 2文档中的描述正确安装了BackgroundMode插件

使用以下代码:

this.backgroundMode.on('enable').subscribe(()=>{
          console.log("BG Mode ENABLED");
          setTimeout(function(){
            try{
              console.log("BG Active"+this.backgroundMode.isActive());
            }catch(err){
              console.log(err.message);
            }
          },5000);
        });
返回控制台中启用的BG模式,但超时块中的第二部分返回:

无法读取未定义的属性isActive

你知道是什么原因造成的吗?

当你使用函数{}语法进行回调时,函数中的上下文this会发生变化。用于捕获正确的上下文:

this.backgroundMode.on('enable').subscribe(()=>{
      console.log("BG Mode ENABLED");
      setTimeout(() => { // Use arrow function here
        try{
          console.log("BG Active"+this.backgroundMode.isActive());
        }catch(err){
          console.log(err.message);
        }
      },5000);
});

。看看它与函数{}语法有什么不同。

谢谢,我回来后必须尝试一下:不过我刚刚读了文档,似乎这就是问题所在