Javascript-форум (https://javascript.ru/forum/)
-   Angular.js (https://javascript.ru/forum/angular/)
-   -   AngularJS Bootstrap динамический контент - проблемы с виджетами и связыванием (https://javascript.ru/forum/angular/49017-angularjs-bootstrap-dinamicheskijj-kontent-problemy-s-vidzhetami-i-svyazyvaniem.html)

vsimashko 25.07.2014 20:00

AngularJS Bootstrap динамический контент - проблемы с виджетами и связыванием
 
Здравствуйте!

AngularJS, Bootstrap, jQuery.

В JS-функции контроллера, скажем, $scope.doPop($event, ...), динамически формируется контент для popover-а, например :

Код:

  $scope.popContent = '<div>PopOver Content ...</div>';
Тут же селекторами jQuery по $event в переменную $scope.elemForPop выбирается DOM-элемент, над которым нужно показать этот popover (элементов много, одна ф-ция doPop() привязана директивой "ng-click" к каждому, контент зависит от того, на чём кликнули).

Потом в той же функции вызывается собственно popover :

Код:

  $($scope.elemForPop).popover({ content: $scope.popContent, html: true });
Две проблемы:
  1. ф-ция doPop() выполняется при каждом клике, но popover всплывает (на каждом элементе !) только начиная со второго клика. На элементе, на котором уже однажды был хоть один клик - до перезагрузки формы popover срабатывает правильно, даже если кликать на других, а потом возвращаться.
  2. если в динамическом контенте $scope.popContent прописывать любые директивы (например, создать кнопку сразу с директивой "ng-click") - то привязка по этим директивам не работает, - функция контроллера не вызывается, сколько не кликай.

Кроме Bootstrap Popovers пробовал в динамике создавать контент для Bootstrap Dropdowns - аналогичное поведение.

Подскажите, плиз, куда бежать.

Спасибо.

FireVolkhov 26.07.2014 18:48

Дайте пример на каком-нибуть Планкере

vsimashko 30.07.2014 19:04

Проблема решилась написанием своей директивы, подменяющей стандартный шаблон Popover-а. Извините за беспокойство.


Часовой пояс GMT +3, время: 09:41.