У меня есть список результатов рендеринга вызова API в списке (HTML ниже) и добавлена привязка клика с помощью Knockout к функции JS, которая в основном принимает имя результата, ищет массив маркеров карт google для сопоставления, затем поворачивается на маркер на элементе карты и открывает ранее сохраненный инфо-окно. Когда я открываю инструменты для разработчиков, я вижу, что на элементе присутствует элемент «click», который указывает на функцию Knockout, но когда я нажимаю, ничего не происходит. Вот репозиторий gitHub: https://github.com/ZackBoyd/BrewMap, если это полезно, а конкретный код ниже. Я чувствую, что я пропускаю что-то очень основное, заранее спасибо за любую помощь.привязка к нокауту без вызова функции JS
HTML
<ul class="results list" data-bind="foreach: filteredBreweries">
<li data-bind="click: $parent.goToMarker">
<div class="item">
<a class="image loaded">
<img data-bind="attr: { src: iconImage }">
</a>
<div class="wrapper">
<h4 data-bind="text: name"></h4>
<figure data-bind="text: address"></figure>
<figure data-bind="text: yearEstablished"></figure>
<figure data-bind="text: type"></figure>
</div>
</div>
</li>
</ul>
JS
function goToMarker(clickedBrewery){
var clickedBreweryName = clickedBrewery.name;
console.log(clickedBrewery);
console.log(clickedBreweryName);
for (var key in self.mapMarkers()) {
if (clickedBreweryName === self.mapMarkers()[key].marker.title) {
map.panTo(self.mapMarkers()[key].marker.position);
infowindow.setContent(self.mapMarkers[key].marker.content);
infowindow.open(map, self.mapMarkers()[key].marker);
}
}
};
Этот код находится в пределах области видимости функции «appViewModel», вы можете увидеть его в репо, я не хотел, чтобы включить все это для простоты.
Хея, добро пожаловать в СО! Обычно, как правило, вы ожидаете (не говоря уже о полезной, а иногда даже необходимости для других, чтобы помочь), что вы предоставляете код * между * фрагментом, который у вас есть, и ссылкой на весь репрограммирование. См. «[Mcve]» для руководства. (Обратите внимание, что вы можете отредактировать сообщение, чтобы улучшить его.) – Jeroen