ng-repeat em combinação com diretiva personalizada

Estou tendo um problema com o uso da diretiva ng-repeat em combinação com minha própria diretiva personalizada.

HTML:

<div ng-app="myApp">
  <x-template-field x-ng-repeat="field in ['title', 'body']" />
</div>

JS:

angular.module('myApp', [])
    .directive('templateField', function () {
        return {
            restrict: 'E',
            compile: function(element, attrs, transcludeFn) {
                element.replaceWith('<input type="text" />');
            }
        };
    });

VejojSFiddle

O problema aqui é que nada é substituído. O que estou tentando realizar é uma saída de campos de entrada 2x, com as tags 'x-template-field' completamente substituídas no DOM. Minha suspeita é que, como o ng-repeat está modificando o DOM ao mesmo tempo, isso não funcionará.

De acordo comisto Pergunta de estouro de pilha, a resposta aceita parece indicar que isso realmente funcionou em versões anteriores do AngularJS (?).

O element.html ('...') não funcionaria?

Embora element.html ('...') realmente injete o HTML gerado no elemento de destino, eu não quero o HTML como um elemento filho da tag de modelo, mas sim substituí-lo completamente no DOM.

Por que não envolvo minha tag de modelo com outra tag que tenha a diretiva ng-repeat?

Basicamente, pela mesma razão acima, eu não quero o meu HTML gerado como um elemento filho para a tag de repetição. Embora isso provavelmente funcione decentemente em meu aplicativo, ainda sinto que adaptei minha marcação para se adequar ao Angular e não o contrário.

Por que não estou usando a propriedade 'template'?

Não encontrei nenhuma maneira de alterar o HTML recuperado das propriedades 'template' / 'templateUrl'. O HTML que eu quero injetar não é estático, é gerado dinamicamente a partir de dados externos.

Eu sou muito exigente com a minha marcação?

Provavelmente. :-)

Qualquer ajuda é apreciada.

questionAnswers(2)

yourAnswerToTheQuestion