Я пытаюсь настроить директиву для обертывания компонента bootstrap popover. Моя проблема состоит в том, чтобы заставить функцию ссылок ждать, пока мой список деталей будет интерполирован.Попытка заставить мою директиву AngularJS ждать интерполяции
Чтобы сделать это мой HTML:
<div class="popover fade top in">
Blah blah
<br />
<span ng-repeat="detail in details" >
{{ detail.title }}
</span>
</div>
<div my-popover>
My text line that opens the popover on mouseover.
</div>
И моя директива:
portalModule.directive('myPopover', function ($compile, $interpolate) {
return {
restrict: 'A',
replace : false,
link: function (scope, element, attributes) {
var updateLater = function() {
var popoverHtml = $(element).siblings('.popover').html();
var options = {
html: true,
trigger: 'hover',
content: popoverHtml
};
$(element).popover(options);
}
setTimeout(updateLater, 2000);
}
}
});
Это сейчас самый лучший (и единственный) способ я нашел, чтобы заставить его работать.
- Я пробовал использовать $ watch, но не мог найти, как заставить его ждать, пока весь список «деталей» будет интерполирован.
- Угловой.UI пока не управляет богатыми (html) popovers.
Любая идея/руководство по управлению этим?
[EDIT] Вот plunker (http://plnkr.co/edit/Rn2SBaiGNz4mj0F80IT3) моего вопроса с:
- новое решение (в deffer создание поповер на пользователя при наведении курсора мыши)
- Столб звено, которое остается KO
Смотрите, если это помогает любому: http://stackoverflow.com/a/15179624/215945 –
Здравствуйте, спасибо за ваш ответ. Я немного поиграл с этим, используя postLink, но все же KO. Я редактирую свой вопрос, чтобы добавить плункер – mpetitdant