У меня есть модуль angluar. В этом модуле у меня есть контроллер с функцией. Мне нужно выполнить эту функцию во всплывающем окне по щелчку href.
Поскольку всплывающее содержимое не является первоначально частью DOM или угловым контекстом, как заставить угловую функцию выполнять этот сгенерированный код?
Вот что я пытаюсь закодировать: codepen
app.controller('AppCtrl', ['$scope', 'myPopup', function($scope, myPopup) {
...
var infoWindow = new google.maps.InfoWindow({
content: "<a href='#' onclick='myPopup.show();'>this is my link</a>"
});
Чтобы сохранить то, что я не пытаюсь выполнить именно этот код, я просто ищу способ выполнить функцию углового обслуживания из сгенерированного "на лету" html-кода (динамического всплывающего содержимого в моем случае).
Прежде всего здесь рабочий код: http://codepen.io/anon/pen/vKRWYy?editors=1010
Таким образом, решение (просто решение, а не решение) заключается в добавлении модальной открытой функции в window
или глобальную область. И вызывается эта функция при нажатии на карту.
window.showPopup = function(){
myPopup.show();
};
<a href='#' onclick='showPopup();return false;'>this is my link</a>
На стороне примечания, как правило, не очень хорошая практика использовать не угловой код с угловым. Возможно, стоит посмотреть на угловую реализацию карт Google, например: http://angular-ui.github.io/angular-google-maps/#!/. Может быть?