如果 md-tooltip 为空,则隐藏工具提示。

5

我有以下工具提示:

<i ng-click="createDetails(item)" class="fa fa-info-circle">
    <md-tooltip md-direction="top">
        {{item.details}}
    </md-tooltip>
</i>

$scope.createDetails = function (item) {
    item["details"] = "example";
}

如果我点击,就会出现详情(提示框不居中是另一个问题,但现在可以接受)

主要的问题是:当item.details == undefined时,我想隐藏提示框。

我尝试了ng-show、md-visible、ng-class等方法。是否有解决这些问题的方法?


1
<md-tooltip md-direction="top" ng-show="item.details"> 这个怎么样? - Rayon
我尝试了 ng-show,但它没有起作用。 - Asqan
1
如果条件不成立,ng-if 将不会创建 DOM,这可能就是问题所在。 - Rayon
准确!但是我仍然需要将鼠标移开再悬停才能看到工具提示,这对用户来说实际上是不可接受的。 - Asqan
如果您能提供,我想使用Fiddle或CodePen进行工作。 - Rayon
1个回答

5
你可以使用ng-if来评估item.details变量的内容,以决定是否创建<md-tooltip>元素。
<i ng-click="createDetails(item)" class="fa fa-info-circle">
    <md-tooltip md-direction="top" ng-if="item.details">
        {{item.details}}
    </md-tooltip>
</i>

1
我尝试使用ng-show而不是ng-if,但它没有起作用,但令人惊讶的是ng-if可以工作。然而,您必须重新悬停在对象上才能看到工具提示。我们该如何解决这个问题? - Asqan
你说的“re-hover”是什么意思?不过我不太清楚 [tag:angular-material],抱歉。 - Naigel
此解决方案会导致工具提示出现在错误的位置。 - Mario Levrero

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接