0

Я уже прочитал все сообщения об этом, но, к сожалению, ни один из них не был полезным: jsfiddle и plunker-ссылки, похоже, больше не работают.Содержимое Popover не работает с angularjs ng-click

То, что я пытаюсь сделать, это просто поместить кнопку внутри всплывающего окна загрузки, которое вызывает вызов функции внутри области действия созданной мной директивы. Проблема заключается в том, что с помощью jquery для захвата содержимого он не работает, поскольку область видимости находится вне. Также, пытаясь создать контент внутри функции, он не будет работать, потому что он не будет скомпилирован.

Я создал пример на jsfiddle, но как-то angularjs не загружен в нужную точку, и поэтому он тоже не работает.

$("#pop-over-link").popover({ 
     'placement': 'top', 
     'trigger': 'click', 
     'html': true, 
     'container': 'body', 
     'content': function() { 
      return $("#pop-over-content").html(); 
     } 
}); 

Это фрагмент кода, который открывает всплывающее окно, захватывает содержимое и показывает его.

Здесь jsfiddle: http://jsfiddle.net/75zLT/2/

А вот рабочий пример на моем Dropbox: https://dl.dropboxusercontent.com/u/19470623/hatethis/test.html

ответ

5

Были 2 проблемы, вы не были в том числе ngRoute в вашей скрипкой и ваша потребность составить содержание возвращается в трещать.

'content': function() { 
    return $compile($("#pop-over-content").html())(scope); 
} 

Также не требуется тайм-аут.

Пример: Plunker

+0

Спасибо. Это помогло мне выяснить, как правильно использовать функцию компиляции, и как-то jQuery.html() в 1.9.1 создает некоторую проблему, поэтому я переключился на последнюю версию, надеясь не получить никакого удивления: P Однако ngRoute не требовалось. Проблема заключалась в необходимости перекомпиляции. – giulio

+0

Я искал эту информацию через пару дней и, наконец, ее здесь. Благодаря тонну!!! –

Смежные вопросы