Vue, методы компонента доступа

#vue.js

#vue.js

Вопрос:

У меня возникла проблема при попытке получить доступ к функциям компонентов из конфигурации плагинов. Например, я хотел бы использовать vue-flatpickr как так:

   mounted() {
    this.flatpicker = flatpickr(this.$refs.dateInput, {
      onChange(date) {
        this.$emit("dateChanged", date);
      }
    });
  }
  

Однако я получаю сообщение об ошибке

Неперехваченная ошибка типа: this.$emit не является функцией

Проблема не только в emit, но и в любой функции, определенной в разделе методы, поскольку это указывает на экземпляр плагина. Я понимаю, что это может быть неадекватным подходом, я открыт для любых предложений!

Ответ №1:

Вы пробовали это:

   mounted() {
    var self = this;
    this.flatpicker = flatpickr(self.$refs.dateInput, {
      onChange(date) {
        self.$emit("dateChanged", date);
      }
    });
  }