Comment utiliser `replace` de la définition de la directive?

Dans ce document: http://docs.angularjs.org/guide/directive , il est indiqué qu’il existe une configuration de replace pour les directives:

template – remplace l’élément actuel par le contenu du code HTML. Le processus de remplacement migre tous les atsortingbuts / classes de l’ancien élément vers le nouvel. Consultez la section Création de composants ci-dessous pour plus d’informations.

code javascript

 app.directive('myd1', function(){ return { template: 'directive template1', replace: true } }); app.directive('myd2', function(){ return { template: 'directive template2', replace: false } }); 

Code HTML

 
original content should be replaced
original content should NOT be replaced

Mais la dernière page ressemble à:

 directive template1 directive template2 

Il semble que le replace ne fonctionne pas. Est-ce que quelque chose me manque?

Démo en direct: http://plnkr.co/edit/rGIgmjO81X2UxJohL4HM?p=preview

Vous êtes confondu avec transclude: true , ce qui appendait le contenu interne.

replace: true signifie que le contenu du modèle de directive remplacera l’élément sur lequel la directive est déclarée, en l’occurrence la

.

http://plnkr.co/edit/k9qSx15fhSZRMwgAIMP4?p=preview

Par exemple sans replace:true

 
directive template1

et avec replace:true

 directive template1 

Comme vous pouvez le voir dans ce dernier exemple, la balise div est effectivement remplacée .

Comme l’indique la documentation, “replace” détermine si l’élément en cours est remplacé par la directive. L’autre option est de savoir s’il est simplement ajouté à un enfant. Si vous regardez la source de votre plnkr, notez que pour la deuxième directive où replace est faux, la balise div est toujours là. Pour la première directive, ce n’est pas le cas.

Premier résultat:

 directive template1 

Deuxième résultat:

 
directive template2

Remplacer [True | Faux (par défaut)]

Effet

 1. Replace the directive element. 

Dépendance:

 1. When replace: true, the template or templateUrl must be required. 

J’ai aussi eu cette erreur si j’avais le commentaire dans le niveau supérieur du modèle avec l’élément racine réel.

  
test of {{value}}