San*_*osh 8 javascript angularjs angular-material
我正在使用棱角分明的材料
当我创建自己的指令并将其添加到md-tab-label时,就像
<md-tab-label>
<custom-directive>
Label
</cutom-directive>
</md-tab-label>
Run Code Online (Sandbox Code Playgroud)
然后自定义指令也应用于某些"md-dummy-tab".
但是如果我把mdtooltop给md-tab-label,就像
<md-tab-label>
Label
<md-tooltip>Label</md-tooltip>
</md-tab-label>
Run Code Online (Sandbox Code Playgroud)
然后没有md-tooltip应用于"md-dummy-tab"类
我尝试在mdtooltip代码中搜索,但无法得到任何线索.
https://github.com/angular/material/blob/master/src/components/tooltip/tooltip.js
如何为我的自定义指令执行相同操作,即自定义指令不应该应用于md dummy选项卡?
<md-tooltip>不会附加到 中,<md-dummy-tab>因为它不会在<md-tab-label>. <md-content>当您触发工具提示显示时,它的模板就会附加到最近的父级。
scope.$watch('visible', function (isVisible) {
if (isVisible) showTooltip();
else hideTooltip();
});
Run Code Online (Sandbox Code Playgroud)
-
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');
});
}
Run Code Online (Sandbox Code Playgroud)
-
current = getNearestContentElement(),
tooltipParent = angular.element(current || document.body)
Run Code Online (Sandbox Code Playgroud)
-
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;
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1084 次 |
| 最近记录: |