Remplacer le composant par son contenu – angulaire 2

Je cherche un moyen d'avoir un composant qui est rendu uniquement avec son contenu. Par exemple, vu le composant:

@Component({selector: 'my-cmp', template: '<div> my-cmp </div>'}) class MyComponent { } 

En le rendant avec angular2 ajoutera le suivant au DOM:

 <my-cmp> <div> my-cmp </div> </my-cmp> 

Alors que je veux trouver un moyen de le rendre directement comme suit:

 <div> my-cmp </div> 

Malheureusement, puisque angular 2 est relativement nouveau (vient d'être bêta) – Google n'est pas si utile, sans parler de la manque de documentation actuelle.

Selon la documentation de 1.x angulaire

Remplacez l'élément de la directive lui-même (si le remplacement est vrai – DEPRECATED).

Je pense donc que cette fonctionnalité ne sera pas disponible. Angulaire 2

Un certain ordre peut être obtenu en utilisant un sélecteur d'attributs

CamelCasing est obligatoire pour les attributs depuis alpha.52

 @Component({ selector: '[myCmp]', //attribute selector template: 'my-cmp' }) class MyComponent { } 

Et utilisez ceci pour l'appeler:

 <div myCmp></div> 

Vous pouvez faire quelque chose comme suit:

 @Component({selector: 'div.my-cmp', template: 'my-cmp'}) class MyComponent { } 

Et dans votre HTML:

  <div class="my-cmp" /> 

Je me souviens d'avoir posé une question similaire pour Angularjs il y a quelques années. Le consensus semble être alors, comme il se peut que ce soit maintenant, vous ne voulez probablement pas le faire.

Il brise la sémantique: un <video/> ou un <input/> ne se décompose pas dans son contenu. Vos composants angulaires ne devraient pas non plus.

Vous pouvez probablement encore atteindre ce que vous voulez en pensant plus profondément à votre balise / css? Peut-être que si vous mettez en pratique votre cas d'utilisation, nous pourrions vous donner une alternative?