html - Hvordan kalle en Angular-komponent ved klikkhendelse [Angular]
Jeg er ikke ekspert på Angular. Jeg fulgte noen svar fra internett også. Spesielt dette. Jeg har en knapp hvor jeg ønsker å kalle en brukerspesifikk metode onPress.
app.component.html
<div class="dls-menu-item" style="float: right;">
<button (click)="onPress()"></button>
</div>
<div id="comp-render">
<-----Here i want that component to be rendered
</div>
app.component.ts
import { Component, OnInit } from '@angular/core';
@Component({
...
})
export class AnalyticsComponent implements OnInit {
constructor() {}
ngOnInit() {}
onPress() {
console.log("clicked");
document.querySelector('#comp-render').innerHTML='<object type="text/html" data="mycomp.html" ></object>';
}
}
Hvor mycomp.html er:
<h1>Hello</h1>
<p>This is a custom component.</p>
<button>Click</button>
Kan noen vennligst fortelle meg hvordan jeg gjør det.
Svar #1
<div class="dls-menu-item" style="float: right;">
<button (click)="onPress()"></button>
</div>
<div id="comp-render" *ngIf="display">
<mycomp></mycomp>
</div>
app.component.ts-fil
...
display = false;
onPress() {
this.display = true;
/*if you want the component to show and hide on click pressed, use
use this line
this.display = !this.display;*/
}
Fungerende kode:
https://stackblitz.com/edit/angular-d21pkn
