Обратный звонок из JQuery-UI в Angular 6 - PullRequest
0 голосов
/ 30 октября 2018

Я добавил JQuery-UI MonthPicker в свое приложение Angular 6.
Я хочу вызвать угловое действие, когда моя дата изменится:

  ngOnInit() {
    $(document).ready(function() {
      $('#myMonthPicker').MonthPicker(
        {
          Button: false,
          MaxMonth: -1,
          MonthFormat: 'MM yy'
          OnAfterChooseMonth: this.update()
        }
      );
    });
  }

  update() {
    alert('works');
  }

Метод обновления никогда не срабатывает.
И у меня есть следующая ошибка:

TypeError: this.update не является функцией

Как я могу вызвать метод Angular из моего кода JQuery-UI?

1 Ответ

0 голосов
/ 30 октября 2018

Поскольку область действия this была потеряна при использовании function() {}, попробуйте:

ngOnInit() {
  const update = this.update();

  $(document).ready(function() {
    $('#myMonthPicker').MonthPicker(
      {
        Button: false,
        MaxMonth: -1,
        MonthFormat: 'MM yy'
        OnAfterChooseMonth: update
      }
    );
  });
}

Или измените свою функцию на обозначение стрелки ES6:

$(document).ready(() => {
  ...
});

Примечание. Обычно это решает эту проблему, но я не так справляюсь с jQuery UI. Не могу гарантировать, что это будет работать

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...