Передать данные между плагином Cordova и angular

Я работаю над приложением 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
      }
    }
  }
}
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Angular и React для вашего проекта веб-разработки?
Angular и React для вашего проекта веб-разработки?
Когда дело доходит до веб-разработки, выбор правильного front-end фреймворка имеет решающее значение. Angular и React - два самых популярных...
Эпизод 23/17: Twitter Space о будущем Angular, Tiny Conf
Эпизод 23/17: Twitter Space о будущем Angular, Tiny Conf
Мы провели Twitter Space, обсудив несколько проблем, связанных с последними дополнениями в Angular. Также прошла Angular Tiny Conf с 25 докладами.
Угловой продивер
Угловой продивер
Оригинал этой статьи на турецком языке. ChatGPT используется только для перевода на английский язык.
Мое недавнее углубление в Angular
Мое недавнее углубление в Angular
Недавно я провел некоторое время, изучая фреймворк Angular, и я хотел поделиться своим опытом со всеми вами. Как человек, который любит глубоко...
Освоение Observables и Subjects в Rxjs:
Освоение Observables и Subjects в Rxjs:
Давайте начнем с основ и постепенно перейдем к более продвинутым концепциям в RxJS в Angular
0
0
84
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Используйте стрелочные функции в конструкторе:

    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;
}

Другие вопросы по теме