You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Original title: ViewChildren doesn't get children created with NgTemplateOutlet
Please see comments below...
I'm submitting a ...
[x] bug report
Current behavior
When you use ngTemplateOutlet to render a template passing by input property ViewChildren don't get or don't find in the redered elements.
Expected behavior
I think ViewChildren should get the elements rendered by ngTemplateOutlet.
Minimal reproduction of the problem with instructions
In this plunkr, on app.ts file, you can see a Child component and a Parent component, Parent component has an input property called template1, this accept a TemplateRef that is rendered using ngTemplateOutlet. Parent component has a ViewChildren collection to get the Child components and shows the length of this collection in the end of template.
The Parent component render the two Child components but the length of ViewChildren collection is 0. You can uncomment the line 16 of app.ts file to include a static <child/> component in the Parent template. Then the collection length is 1.
What is the motivation / use case for changing the behavior?
It's would be very useful to pass template to components, rows of grids, lines of lists, ...
In the other hand I have this plunkr in this case I am rendering Child components using a ngFor, ViewChildren works fine.
Since both, ngTemplateOutlet and ngForOf, using viewContainerRef.createEmbeddedView to render the templates ... why works with ngFor and not with ngTemplateOutlet?
I think that the only reason is that Child components come from different component context, but I would like to know it.
Please tell us about your environment:
Windows 10, VisualStudioCode, npm, lite-server
Angular version: 4.0.0-rc2
Browser: [all]
Language: [TypeScript 2.2.1]
th0r, infozivi, HeroBart, dzonatan, imfeng and 119 moresmilewangweiDmitryMakhnev and chladognagarsuresh, smilewangwei, yrdesigns, chrishna1 and mauriziocesconsmilewangwei, yrdesigns, Vrael, chladog and ahnpnl