【问题标题】:Angular ngx-smart-popover open on conditionAngular ngx-smart-popover 在条件下打开
【发布时间】:2019-05-04 02:58:04
【问题描述】:

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

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

这很好,但我发现的所有示例都需要使用这样的附加按钮:

&lt;input type='button'[popover]="myPopover"...

我正在尝试根据条件显示弹出框,而不必单击该按钮。例如:

myMethod()
{
    if(true)
    {
        this.myPopover.open();
    }
}

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

【问题讨论】:

  • 获取ViewChild,然后就可以调用open方法了。

标签: angular typescript


【解决方案1】:

您需要使用ViewChild 在您的打字稿中获取对弹出框组件的引用,如下所示:

@ViewChild('myPopover') myPopover : PopoverContentComponent;

然后你可以在你想要的地方访问这个参考:

this.myPopover.show();

【讨论】:

    【解决方案2】:

    如果您查看他们的来源here,则有showhide 方法。然后,您需要使用@ViewChild 在您的 ts 文件中获取对该对象的引用,如下所示

    @ViewChild('myPopover') myPopover : PopoverContentComponent;
    

    以后你可以做

    this.myPopover.show();
    

    【讨论】:

    • 表演();方法与标准
    • @SarthakAgastya 你的意思是什么,它的工作方式不一样?它是否显示弹出窗口?地点对吗?
    • 是的,当我调用 show() 方法时,弹出框根本不显示。即使我能够按照您的建议使用@ViewChild 获取对象。
    • @SarthakAgastya 那么可能是一个错误,如果你可以创建一个堆栈闪电战,我可以为你重新检查它,看看是否遗漏了什么
    • @SarthakAgastya 顺便说一句,这种需求的一般解决方案是获取对子项的引用,然后对其调用方法
    猜你喜欢
    • 2017-12-13
    • 1970-01-01
    • 2018-08-03
    • 2015-10-24
    • 2019-10-23
    • 1970-01-01
    • 2020-10-31
    • 1970-01-01
    • 2018-06-29
    相关资源
    最近更新 更多