Angularjs angular ui引导弹出窗口以编程方式打开
我试图通过从控制器将popover is open属性动态设置为true来动态打开popover,如下所示:Angularjs angular ui引导弹出窗口以编程方式打开,angularjs,angular-ui-bootstrap,angular-ui,angularjs-digest,Angularjs,Angular Ui Bootstrap,Angular Ui,Angularjs Digest,我试图通过从控制器将popover is open属性动态设置为true来动态打开popover,如下所示: var el = angular.element(target.id); //popover attached to this element el.attr('popover-is-open',true) //setting attribute to true $compile(el.contents())($scope) //recompiling $
var el = angular.element(target.id); //popover attached to this element
el.attr('popover-is-open',true) //setting attribute to true
$compile(el.contents())($scope) //recompiling
$scope.$digest();//running digest
这是html
<div id="taskcard-{{task.externalId}}"
popover-append-to-body="true"
popover-trigger="'none'"
popover-is-open="false"
uib-popover-template="templateurl"
popover-title="testing">
POPOVERS
</div>
爆米花
现在,这不起作用了。有其他方法吗?您可以使用一些布尔标志,例如
任务。popover属性中的popoverIsOpen
是open属性,可以将其设置为true
或false
以打开/关闭popover,例如
<div id="taskcard-{{task.externalId}}"
popover-append-to-body="true"
popover-trigger="'none'"
popover-is-open="task.popoverIsOpen"
uib-popover-template="dynamicPopover.templateUrl"
popover-title="testing">
POPOVERS
</div>
你可以发布完整的代码,包括
html
here@jitender我不能用它。我有大约100件爆米花!无法为每个项目维护单独的标志。如果我只保留一个标志,所有的弹出框都会一起打开和关闭:)你的意思是说你在ng repeat
oftasks
中使用它,对吗?实际上我有一个要求,一次只能打开所有的弹出框。因此,在您的plunker中,用户可以打开所有的popover。@beNerd check out update仍然存在一个问题:我需要使用ng mouseenter,而不是ng click,popover应该在mouseleave上删除。我试着用mouseenter替换ng click,但mouseleave上的popover并没有消失
task.popoverIsOpen=true;