gpt4 book ai didi

javascript - 为什么 md 工具提示不适用于 md 虚拟选项卡

转载 作者:数据小太阳 更新时间:2023-10-29 04:18:11 25 4
gpt4 key购买 nike

我正在使用 Angular Material 。

当我创建自己的指令并将其添加到 md-tab-label 时,例如

<md-tab-label>
<custom-directive>
Label
</cutom-directive>
</md-tab-label>

然后自定义指令也应用于一些“md-dummy-tab”。

但是如果我将 mdtooltop 给 md-tab-label ,就像

<md-tab-label>
Label
<md-tooltip>Label</md-tooltip>
</md-tab-label>

然后没有应用于“md-dummy-tab”类的 md-tooltip

我尝试在 mdtooltip 代码中搜索,但找不到任何线索。

https://github.com/angular/material/blob/master/src/components/tooltip/tooltip.js

我怎样才能对我的自定义指令执行相同的操作,即自定义指令不应应用于 md 虚拟选项卡?

最佳答案

<md-tooltip> 未附加到 <md-dummy-tab>因为它不会在 <md-tab-label> 中呈现任何 HTML 代码.它的模板附加到最近的父项 <md-content>在您触发工具提示显示的那一刻。

  scope.$watch('visible', function (isVisible) {
if (isVisible) showTooltip();
else hideTooltip();
});

-

function showTooltip() {
// Insert the element before positioning it, so we can get the position
// and check if we should display it
tooltipParent.append(element);

// Check if we should display it or not.
// This handles hide-* and show-* along with any user defined css
if ( hasComputedStyleValue('display','none') ) {
scope.visible = false;
element.detach();
return;
}

positionTooltip();
angular.forEach([element, background, content], function (element) {
$animate.addClass(element, 'md-show');
});
}

-

current       = getNearestContentElement(),
tooltipParent = angular.element(current || document.body)

-

 function getNearestContentElement () {
var current = element.parent()[0];
// Look for the nearest parent md-content, stopping at the rootElement.
while (current && current !== $rootElement[0] && current !== document.body) {
current = current.parentNode;
}
return current;
}

关于javascript - 为什么 md 工具提示不适用于 md 虚拟选项卡,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31260284/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com