目前我有这样的智能弹出窗口设置,带有一个附加按钮并在单击时显示。这是放在它自己的组件中,如下所示:

<popover-content #myPopover id="myPopover"
   placement="bottom" [animation]="true" [closeOnClickOutside]="false" >
// Some content here
</popover-content>
<input type='button' #selectMyPopover [popover]="myPopover" class='btn'
  popoverPlacement="bottom" [popoverOnHover]="false"
 [popoverCloseOnMouseOutside]="false" [value]='myButton'>

然后当我想使用它时,我将它包含在组件标签中,如下所示:
<app-my-popover></app-my-popover>

很棒,但我发现的所有示例都需要使用这样的附加按钮:
<input type='button'[popover]="myPopover"...
我试图根据条件显示弹出窗口,而不必单击该按钮。例如:
myMethod()
{
    if(true)
    {
        this.myPopover.open();
    }
}

是否可以自己以类似的方式从 typescript 打开而不是使用按钮?

最佳答案

您需要使用 ViewChild 在 typescript 中获取对 popover 组件的引用,如下所示:

@ViewChild('myPopover') myPopover : PopoverContentComponent;

然后你可以在你想要的地方访问这个引用:
this.myPopover.show();

关于Angular ngx-smart-popover 在条件下打开,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/55970797/

10-13 09:00