2

I've been trying to get an Ember View as the content of a Boostrap popover where I can keep the bindings updating.

I was able to achieve this, you can check an example on this jsFiddle.

Unfortunately this solutions causes an irregular popover placement.

Can someone please check my code and see what I did wrong or if there's a simpler way to achieve this?

  $popover.popover({
        html: true,
        placement:'bottom',
        content: function(){

            if(_this.get('childView')) {
                _this.get('childView').remove(); 
            }

            var view = _this.container.lookup('view:popoverContent'),
                childView = _this.createChildView(view),
                popover = $popover.data('popover'),
                $tip = popover.tip(),
                $content = $tip.find('.popover-content');

            _this.set('childView', childView);
            childView.appendTo($content);

            var html = $content.html();

            return html;            
        }
    });
4

1 回答 1

0

我猜你是什么意思

不幸的是,这种解决方案会导致不规则的弹出框放置。

是您希望弹出框始终以相同的位置显示。如果我猜对了,我在您提供的 jsfiddle 中看到的唯一一件事是,在两个弹出框中,只有一个将其placement属性设置为bottom,第二个使用默认值,即right.

因此,这里的解决方案可能是为placement您使用的所有弹出框定义始终相同的属性。如文档中所述,placement可以将这些值之一作为字符串:

top | bottom | left | right

我已经更新了 jsfiddle 以始终显示在右侧,请看这里。对于任何自定义展示位置,您应该深入研究弹出框的负责 css 并在那里覆盖您需要的内容。

希望能帮助到你。

于 2013-07-17T14:32:27.780 回答