Javascript 离子2的BackgroundMode插件未定义
我已经按照Ionic 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.
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);
});
。看看它与函数{}语法有什么不同。谢谢,我回来后必须尝试一下:不过我刚刚读了文档,似乎这就是问题所在