Я работаю над приложением Angular/Cordova и хочу передать статус онлайн/офлайн в angular:
export class AppComponent implements OnInit {
isOff = false;
constructor() {
document.addEventListener('deviceready', onDeviceReady, false);
function onDeviceReady() {
document.addEventListener('offline', onOffline, false);
document.addEventListener('online', onOnline, false);
function onOffline() {
alert('You are offline.');//Working
this.isOff = true;//Not working
}
function onOnline() {
alert('You are Online.'); //Working
this.isOff = false; //Not working
}
}
}
}
Используйте стрелочные функции в конструкторе:
document.addEventListener('deviceready', () => this.onDeviceReady(), false);
document.addEventListener('pause', () => this.onPause(), false);
document.addEventListener('resume', () => this.onResume(), false);
document.addEventListener('offline', () => this.onOffline(), false);
document.addEventListener('online', () => this.onOnline(), false);
Теперь вы можете использовать переменную Angular.
onDeviceReady() {
console.info('---onDeviceReady--->');
}
onPause() {
console.info('---onPause--->');
}
onResume() {
console.info('---onResume--->');
}
onOffline() {
console.info('---onOffline--->');
this.isOff = true;
}
onOnline() {
console.info('---onOnline--->');
this.isOff = false;
}