I am creating a modal component in Angular 2 (and TypeScript) that will have different views / pages. It will not have tabs, but the concept is pretty similar. Mostly I'm struggling to find an approach to this.
In my modal component, I want to display different views / pages. Each of them must be the component itself, because they do not have a common markup. In addition, they will retrieve data from service classes, so I need to be able to write specific logic for each view.
Basically, I want something like:
// Within my modal component template <div *ngFor="#view of views"> // Render view component here </div>
Where views can be an array of components, for example. My first and main problem is that I'm not sure how to display a collection of my views (components).
How can I infer a collection of components inside another component?
In addition, I need a way to hide and show representations, which is the only thing that has common views. I was thinking of adding the isActive variable to the views and showing / hiding them based on this. Would it be bad practice for the views components to either implement the ModalView interface, or go from the base class to add this logic? From my modal component, I want to be able to control which view is displayed, so I need views to have this common logic.
I hope this is clear what I want to do. The solution may be simple, but right now I'm a little confused about how to do this. Sample code would be greatly appreciated!
source share