Ionic 2 的背景模式插件未定义



我已经按照 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 Mode ENABLED,但超时块中的第二部分返回:

Cannot read property isActive of undefined

任何想法是什么原因造成的?

当您使用function () {}语法进行回调时,函数内的上下文(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);
});

有关箭头函数的文档。请参阅此部分,了解它与function () {}语法的区别。

相关内容

  • 没有找到相关文章

最新更新