2017-10-16 3 views
1

je dois répéter un composant à l'intérieur d'un autre composant, disons:* ngFor sans emballage intérieur ng contenu

composant A accepte que, à l'intérieur de son ng contenu, un composant de type B.

faire quelque chose comme:

<component-a> 
    <ng-template ngFor [ngForOf]="items"> 
     <component-B></component-B> 
    </ng-template> 
</component-a> 

ou ceci:

<component-a> 
    <ng-container *ngFor="let item of items"> 
     <component-B></component-B> 
    </ng-container> 
</component-a> 

ne fonctionne pas ...

Je ne peux pas modifier composant un ni compoenent-B et ces approches ne rend pas la composante B ...

Toute idée comment surmonter cela?

Merci. PS: il se peut que je doive ajouter plusieurs composants B pour chaque article.

+0

Ne voulez-vous pas dire 'ng-container' pas' ng-template'? J'ai écrit la différence, comme je l'ai continué à se tromper: https://blog.jonrshar.pe/2017/May/20/angular-ng-elements.html – jonrsharpe

+0

passer le tableau en tant que paramètre pour le composant interne, répétez-le dans le modèle de l'élément interne. – omeralper

+0

question éditée. Je ne peux pas modifier le composant-b. –

Répondre

0

Je normalement attendre quelque chose d'aussi simple que le ci-dessous pour travailler:

<component-a> 
    <component-B *ngFor="let item of items"> 
    </component-B> 
</component-a> 

Ou avec la syntaxe ngForOf, ne compte pas vraiment. Y at-il plus d'informations que vous pourriez donner afin de mieux identifier où le problème pourrait être?

+0

qui fonctionne, mais je ne peux pas le faire parce que je peux avoir besoin pour ajouter plusieurs pour le même article. –

0

Résolu! en utilisant

ngProjectAs="selector" 

attribut sur ng-container!