Is it possible to load the child component when button in parent template is clicked? For instance, the parent template html would look like:
<button (click)="loadMyChildComponent();">Load</button>
<my-child-component></my-child-component>
The reason I want to do it like that is because the my-child-component takes some time to load and it slows down everything. Therefore, I'd like to load it only if user clicks to load it. I cannot change the parent template structure. It has to be there.
I want to enter ngOnInit of child's component only when load button is clicked.
@Input() and @Output() give a child component a way to communicate with its parent component. @Input() lets a parent component update data in the child component. Conversely, @Output() lets the child send data to a parent component.
You can use *ngIf directive for the initing component from parent, so your code will be like this
<button (click)="loadMyChildComponent();">Load</button>
<my-child-component *ngIf="loadComponent"></my-child-component>
loadMyChildComponent() {
loadComponent = true;
...
}
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With