angular ui bootstrap popover以编程方式打开

时间:2017-11-29 03:15:37

标签: angularjs angular-ui-bootstrap angular-ui anguarjs-digest-cycle

我试图通过控制器动态地将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>

现在,这不起作用。还有其他方法吗?

1 个答案:

答案 0 :(得分:2)

你可以在task.popoverIsOpen属性中使用一些布尔标志而不是像popover-is-open这样的内容,并可以将其设置为truefalse来打开/关闭类似

 <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>

在需要时将popoverIsOpen设置为true

task.popoverIsOpen=true;

Working demo