在Bootstrap Popover里面的Ember视图

时间:2013-07-17 10:13:31

标签: binding view ember.js popover

我一直试图将Ember View作为Boostrap popover的内容,我可以保持绑定更新。

我能够实现这一目标,您可以查看此jsFiddle上的示例。

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

有人可以查看我的代码,看看我做错了什么,或者是否有更简单的方法来实现这个目标?

  $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;            
        }
    });

1 个答案:

答案 0 :(得分:0)

我想你的意思是

  

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

您希望您的popover始终显示相同的展示位置。如果我猜对了,我在你提供的jsfiddle中看到的唯一的东西就是从两个popover中只有一个将placement属性设置为bottom,第二个是使用默认值这是right

因此,这里的解决方案可能是为您使用的所有popover定义始终相同的placement属性。如docs中所述,placement可以是字符串中的一个值:

top | bottom | left | right

我已经更新了jsfiddle以显示在右侧,看看here。对于任何自定义展示位置,您应该深入了解popover的负责任的CSS并覆盖您需要的内容。

希望它有所帮助。