我一直试图将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;
}
});
答案 0 :(得分:0)
我想你的意思是
不幸的是,这种解决方案会导致不规则的弹出窗口放置。
您希望您的popover始终显示相同的展示位置。如果我猜对了,我在你提供的jsfiddle中看到的唯一的东西就是从两个popover中只有一个将placement
属性设置为bottom
,第二个是使用默认值这是right
。
因此,这里的解决方案可能是为您使用的所有popover定义始终相同的placement
属性。如docs中所述,placement
可以是字符串中的一个值:
top | bottom | left | right
我已经更新了jsfiddle以显示在右侧,看看here。对于任何自定义展示位置,您应该深入了解popover的负责任的CSS并覆盖您需要的内容。
希望它有所帮助。