我想创建一个带有transclude的工具提示属性指令,并在主体上渲染它。
例如:
<div tooltip>
<transcluded-content>content</transcluded-content>
</div>
module.directive('tooltip', function () {
return {
restrict: 'A',
templateUrl: 'tooltip.html',
transclude: {
'transcluded-content': 'transcluded-content'
}
};
});
我想在正文上渲染模板而不是div ...
答案 0 :(得分:2)
为了在身体上放置元素,您可以尝试在链接功能中移动它。怎么样?
module.directive('tooltip', function () {
return {
restrict: 'A',
templateUrl: 'tooltip.html',
transclude: {
'transcluded-content': 'transcluded-content'
},
link: function (scope, element) {
angular.element('body').append(element);
}
};
});
有更复杂的方法,但它们需要$compile
和其他混乱的技术。