Я пытаюсь создать всплывающее окно и загрузить в него содержимое непосредственно с контроллера.
Я могу успешно привязать flag
к всплывающей подсказке, используя директиву из этого ответа, но всплывающее окно продолжает показывать начальное значение flag
, даже если я изменю значение flag
второй кнопкой.
Дело в том, что я хочу, чтобы содержимое поповера динамически менялось вместе с переменной в контроллере.
Как я могу сделать трюк?
Вот директива:
var app = angular.module('plunker', []);
app.directive('popover', function($compile, $timeout){
return {
restrict: 'A',
link:function(scope, el, attrs){
var content = attrs.content;
var settings = scope.$eval(attrs.popover);
var elm = angular.element('<div />');
elm.append(attrs.content);
$compile(elm)(scope);
$timeout(function() {
el.removeAttr('popover').attr('data-content',elm.html());
el.popover(settings);
});
}
}
А вот и плункер
ШАГ 2
Я хотел бы установить контейнер всплывающего окна как <body>
, используя эту директиву, чтобы я мог сделать ширину всплывающего окна 1/3 страницы.