Javascript 如何在不使用ng transclude的情况下为angularjs编写替换dom元素的指令?

Javascript 如何在不使用ng transclude的情况下为angularjs编写替换dom元素的指令?,javascript,angularjs,Javascript,Angularjs,我想写一个指令,从根本上改变这一点: <g:text>Hello There</g:text> to <svg class="gx-text"><text>Hello There</text></svg> 你好 到 你好 因此在dom中,元素已被元素完全替换 我不想使用ng transclude,因为我发现它向dom添加了一堆其他元素。var-app=angular.module('app',[]); var app

我想写一个指令,从根本上改变这一点:

<g:text>Hello There</g:text>

to

<svg class="gx-text"><text>Hello There</text></svg>
你好 到 你好 因此在dom中,
元素已被
元素完全替换

我不想使用ng transclude,因为我发现它向dom添加了一堆其他元素。

var-app=angular.module('app',[]);
var app = angular.module('app', []);
app.directive('gText', function() {
    return {
        restrict: 'E',
        compile: function(tElement, attrs) {
            tElement.replaceWith('<svg class="gx-text"><text>'
                + tElement.text() + '</text></svg>');
        }
    }
});
应用指令('gText',函数(){ 返回{ 限制:'E', 编译:函数(远程通讯、属性){ 远程通讯。替换为(“”) +text()+“”); } } });