Угловой. Выполнить угловую функцию из всплывающего окна

0

У меня есть модуль 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-кода (динамического всплывающего содержимого в моем случае).

Показать ещё 1 комментарий
Теги:
popup
infowindow

1 ответ

1

Прежде всего здесь рабочий код: 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/#!/. Может быть?

  • 0
    Хотя этот ответ помогает автору вопроса, я бы не рекомендовал публиковать ответ с этим решением, потому что это грязный обходной путь и не должен повторяться другими людьми, которые могут найти этот ответ позже. Почему бы не опубликовать правильное «угловатое» решение?
  • 0
    @setec Правильное «angularish» - использовать угловую обертку вокруг библиотеки карт Google. На которую я также разместил ссылку.
Показать ещё 3 комментария

Ещё вопросы

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