Как изменить значение data в функции?

У меня есть яндекс карты, с них нужно передать координаты в родительский компонент Vue.JS, если пытаться изменить this.coords, то ничего не изменяет, если делать emit в месте где есть доступ к переменной coords, то emit не выполняется. Я понимаю, что это связано с областью видимости, но пробовал много способов, ничего не помогло. Вопрос, как правильно передать координаты? введите сюда описание изображения


Ответы (1 шт):

Автор решения: Виктор Карев

Чтобы не было проблем с this, заведите в начале mounted специальную переменную var self=this;

И у вас this.coords определяется тогда, когда библиотека ymaps объявит о своей готовности. А $emit вы вызываете раньше. Вызывайте его когда будет получено значение this.coords:

    self.coords = result.geoObjects.position;
    self.$emit('setCoords',{coords: self.coords});
→ Ссылка