Функция AngularJS ng-click не работает после содержимого информационного окна $ compile map

0

Я попытался реализовать динамическую карту (Google Map) Infowindow на $ compile и настроил ее на infowindow.

Я хотел бы, чтобы infowindow отображал данные, зависящие от зависающего/щелкнутого маркера, и пользователь может щелкнуть по какой-либо кнопке внутри него, чтобы вызвать функцию $ scope.
Все привязки данных работают нормально (все значение приходит), за исключением функций $ scope, когда я нажимаю кнопку, ничего не запускается.

Вот некоторые из моих кодов:

map.directive.js
///////

function linkFn(scope, element, attrs) {
    scope.mapPane = new MapPane();
    scope.actionButton = function() {
       alert('it should trigger this');
    }

    function MapPane() {
        var self = this;
        self.infoWindow = new google.maps.InfoWindow({..})

        self.openInfoWindow = function() {
            $timeout(function(){
                var content = getContentByMarkerType();
                var el = $compile(content)(scope);
                self.infoWindow.setContent( el );

                self.infoWindow.open( map, latlngObj )
            }
        }
    }
}

Для шаблона infowindow я использую ng-bind для значения данных и ng-click = "actionButton()" для вызова функции, но при нажатии кнопки ничего не происходит.

Я что-то сделал или что-то забыл?

Спасибо.

Теги:
google-maps

1 ответ

0

Вы пробовали этот шаблон компиляции?

var compiled = $compile(template);
var elm = complied(scope);
element.append(elm);

Это позволяет полностью создать шаблон и задерживает добавление значений области до тех пор, пока оно не будет.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню