我正在尝试设置一个指令来包装引导弹出组件。我的问题是让链接功能等待我的详细信息列表被插值。
为此,这是我的 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 但找不到如何让它等待整个“详细信息”列表被插值。
- Angular.UI 似乎还没有管理丰富的(html)弹出框。
关于如何管理它的任何想法/线索?
[编辑] 这是我的问题的一个 plunker ( http://plnkr.co/edit/Rn2SBaiGNz4mj0F80IT3
):
- 一个新的解决方案(在用户鼠标悬停时延迟创建弹出框)
- 一个保持 KO 的帖子链接