Здравствуйте. У меня пару вопросов по поводу изменения контента балуна, что-то похожее я нашёл в темах, но не совсем...
И так, на карте имеется набор меток, для каждой из них имеется балун:
var placemark = new ymaps.Placemark([markerArray.latitude, markerArray.longitude],
{
id: markerArray.ID_marker,
cost: markerArray.cost == 1 ? true : false,
type: markerArray.type == 1 ? true : false,
i_was: markerArray.i_was,
people_was: markerArray.people_was,
uStat: $('#bulion').val() ? true : false
}
);
self.markersCollection.add(placemark);
var balloonLayout = ymaps.templateLayoutFactory.createClass(
'<div class="ball-content" id="$[properties.id]">' +
'<div class="statuses">' +
'<div class="color-status [if properties.cost]fee">Условие1[else]free">Условие2[endif]</div>' +
'<div class="color-status [if properties.type]out">Условие1[else]in">Условие2[endif]</div>' +
'</div>' +
'<div class="was-here gr-text">' +
'<div class="flag"></div>' +
...................................... +
'</div>' +
'</div>'
);
1.Все данные при вёрсте балуна берутся из объекта метки. Например, параметр people_was - это число. Но мне надо не просто вставить это число, а сначала вызвать стороннюю функцию, которая, к примеру, вернёт нам это число с нужным склонением слова(4 - 4 человека, 1 - 1 человек). Можно ли как-то вызывать эту функцию внутри создания класса макета или надо заранее в объект прописать обработанное значение: ... people_was: someFunction(markerArray.people_was),....? Последний способ очень неудобен, т.к. далее исходное значение(просто цифра) будет использоваться где-то снова. И ещё можно ли в конструкции [if properties.cost]fee">Условие1[else] использовать условия типа больше меньше или равно и т.д...?
2. Как можно далее менять контент балуна по клику?? Тоесть кликаем на определённую ссылку внутри балуна, затем меняем контент. По факту меняем данные метки, к которой относится балун. И можно ли это делать не перебирая колекцию: кликнули на балун, через него поменяли данные метки ему сопоставленной??