NogerbekNurzhan, у вас метод geoObject слишком "умный". Нужна декомпозиция. Отдельный метод создает карту, отдельный метод манипулирует отображаемыми объектами, еще один может очищать объекты. пример:
createMap()
,
setObjects(dateStart, dateEnd)
,
deleteObjects()
На ивент пишете отдельный обработчик
@clicked=onChangeDate
в котором вызываете пересоздание объектов на существующей карте
onChangeDate(dateStart, dateEnd) {
this.deleteObjects();
this.setObjects(dateStart, dateEnd);
}
---------------------------------
В идеале вообще вынести непосредственно карту в отдельный компонент, в который упрятать все манипуляции с картой, а то что у вас сейчас называется YandexMap - это все-таки композитный компонент, содержащий и карту и панель управления.
Тогда управление картой можно будет свести к передаче пропсов, как-то так
<MyComp>
<Navbar @clicked="onChangeDate"/>
<YandexMap
:date-start="dateStart"
:date-end="dateEnd"
/>
<MyComp>
<script>
data: function(){
return {
dateStart: null,
dateEnd: null,
}
}
methods: {
onchangeDate(d1, d2){
this.dateStart = d1;
this.dateEnd = d2;
}
}
</script>
ну а в компоненте YandexMap соответственно добавить пропсы для дат,
повесить слушателя на их изменение и в его обработчике очищать объекты и загружать новые.