Angularjs angular ui引导弹出窗口以编程方式打开

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 $

我试图通过从控制器将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
    $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
of
tasks
中使用它,对吗?实际上我有一个要求,一次只能打开所有的弹出框。因此,在您的plunker中,用户可以打开所有的popover。@beNerd check out update仍然存在一个问题:我需要使用ng mouseenter,而不是ng click,popover应该在mouseleave上删除。我试着用mouseenter替换ng click,但mouseleave上的popover并没有消失
task.popoverIsOpen=true;