首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在Angular2中,如果工具提示模板为空,如何禁用NgbTooltip?

在Angular2中,如果工具提示模板为空,如何禁用NgbTooltip?
EN

Stack Overflow用户
提问于 2017-06-22 23:53:29
回答 4查看 10.6K关注 0票数 5

我在工具提示中显示了一个数据数组,所以我使用了一个模板。我的代码看起来像这样:

代码语言:javascript
复制
<ng-template #ToolTipTemplate>
    <small *ngFor="let month of data.months; let first = first; let last = last"> {{ month.appliedMonthYear | utc | date:'MM/y' }}{{ last ? '' : ', ' }} </small>
</ng-template>

<span [ngbTooltip]="ToolTipTemplate">Months: {{data.months.length}}</span>

如果data.months为空,我不希望显示工具提示。目前,如果它是空的,它只显示工具提示箭头。

我曾尝试在模板内的<small>标记上添加一个*ngIf,但没有成功。我也尝试过在<ng-template>中添加*ngIf,但都无济于事。

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2017-06-23 00:07:27

好了,我终于能弄明白了。这是我必须做的

代码语言:javascript
复制
<span [ngbTooltip]="(data.months?.length) ? ToolTipTemplate : ''">Months: {{data.months.length}}</span>
票数 17
EN

Stack Overflow用户

发布于 2017-11-22 01:10:22

您可以采用像#t="ngbTooltip"这样的元素引用,然后手动触发工具提示。在您的示例中,如果需要,则启动它,或者根本不显示工具提示。

代码语言:javascript
复制
<div
   [ngbTooltip]="(data.months?.length) ? ToolTipTemplate : ''"
  triggers="manual"
  #t="ngbTooltip"
  (mouseenter)="(data.months?.length) && t.open()"
  (mouseleave)="t.close()">
show Tooltip
</div>
票数 2
EN

Stack Overflow用户

发布于 2017-06-23 00:06:32

简单的方法是

代码语言:javascript
复制
<div *ngIf='data.months.length > 0'>
    <ng-template #ToolTipTemplate>
        <small *ngFor="let month of data.months; let first = first; let last = last"> {{ month.appliedMonthYear | utc | date:'MM/y' }}{{ last ? '' : ', ' }} </small>
    </ng-template>

    <span [ngbTooltip]="ToolTipTemplate">Show Info</span>
</div>
<div *ngIf='data.months.length === 0'>
    <span>Show Info</span>
</div>
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44704226

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档