Чтобы элемент был на теле, вы можете попробовать переместить его в функцию ссылки.Как насчет этого?
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
и других беспорядочных методов.