Angular ngx智能popover在条件下打开

Angular ngx智能popover在条件下打开,angular,typescript,Angular,Typescript,目前,我有这样的智能popover设置,带有一个额外的按钮,并在单击时显示。它被放入自己的组件中,如下所示: <popover-content #myPopover id="myPopover" placement="bottom" [animation]="true" [closeOnClickOutside]="false" > // Some content here </popover-content> <input type='button' #

目前,我有这样的智能popover设置,带有一个额外的按钮,并在单击时显示。它被放入自己的组件中,如下所示:

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

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

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

@ViewChild('myPopover') myPopover : PopoverContentComponent;
然后,您可以在需要的位置访问此引用:

this.myPopover.show();

如果您查看它们的源代码,有
show
hide
方法。然后,您需要使用
@ViewChild
获取对ts文件中该对象的引用,如下所示

@ViewChild('myPopover') myPopover : PopoverContentComponent;
以后你可以做

this.myPopover.show();

将其作为
ViewChild
获取,然后可以调用open方法;方法与标准@SarthakAgastya的工作方式不同,你说的方法与标准@SarthakAgastya的工作方式不同是什么意思?它有没有显示过爆米花?位置正确吗?是的,这是我调用show()方法时popover根本没有显示的东西。即使我能像你建议的那样用@ViewChild获取对象。@SarthakAgastya可能是一个bug,如果你能创建一个stackblitz,我可以为你重新检查它,看看是否有问题missed@SarthakAgastya顺便说一句,这种需求的一般解决方案是获取对child的引用,然后对其调用方法
this.myPopover.show();