yandex-maps-unofficial / vue-yandex-map

Yandex Maps Component for VueJS
MIT License
358 stars 103 forks source link

вызов метода компонента по клику на кнопку в балуне #33

Closed isaev-co closed 6 years ago

isaev-co commented 6 years ago

есть компонент, в нем подключаю карты, можно ли как-то по кнопке на балуне вызывать метод из самого компонента?

например по клику на button вызывать selectShop (в скриншоте оставил только касающийся сабжа код)

screen shot 2017-11-29 at 20 48 04

PNKBizz commented 6 years ago

@Matthew-Risedale привет! Смотри - в балун передается строка, которую Vue не парсит, поэтому о существовании методов он ничего не знает. То есть через переменную к методу обратиться не получится. Костыльнуть можно вот таким способом:

<button onclick="javascript: document.querySelector('.button').click();">changePm</button>

это кнопка в темплейте, а

<button @click="changeIcon" class="button">changePm</button>

кнопка в твоем шаблоне компонента, которую видит Vue (можно сделать display: none) Но еще раз повторюсь - это костыль Еще почитаю доку Я.Карт, возможно у них предусмотрены кнопки в балунах и методы для них.

isaev-co commented 6 years ago

Костыльно, конечно, но it works!!!! спасибо большое

PNKBizz commented 6 years ago

Не за что ) Будем искать некостыльный способ )

idegart commented 6 years ago

А как в этом костыльном варианте можно передать параметр?

bigperson commented 5 years ago

@PNKBizz Есть ли сейчас нормальное решение? Или как можно передать параметры через костыль?

antongloom commented 5 years ago

Добрый день, а не подскажете способ на оборот, есть сторонний button в template и при нажатии на него должен открыться bollon) Заранее спасибо)

Dicoders commented 2 years ago

@PNKBizz Добрый день! Удалось ли найти решение проблемы?

PNKBizz commented 2 years ago

@Dicoders https://vue-yandex-maps.github.io/guide/Map.html#attributes см. последний атрибут - balloon-component