Som si vytvoril šablónu example.component.html
že dostane metódu, ako variabilný jeho kliknite na akcie:
<div>
<button (click)="method()">click here</button>
</div>
na example.component.ts
súbor, metodika vychádza zo vstupu(), tak som môže použiť túto šablónu na viacerých situáciách:
@Component({
selector: 'example',
templateUrl: './example.component.html',
})
export class ExampleComponent implements OnInit {
@Input() method;
constructor() {}
ngOnInit(): void {}
}
Tu je miesto, kde to komplikuje. V materskej komponent, metódy, ktorá bude aktivovaná na kliknite na tlačidlo používa premennú pochádzajúce z pozorovateľných:
parent-example.component.html
<example [method]="onClick"></example>
parent-example.component.ts
@Component({
selector: 'parent-example',
templateUrl: './parent-example.component.html',
})
export class ParentExampleComponent implements OnInit {
@Input() method;
business;
constructor(businessEntityService: BusinessEntityService) {
businessEntityService.entities$.subscribe(
data => (this.business = data),
);
}
onClick() {
console.log(this.business);
}
ngOnInit(): void {}
}
Aj keď materský komponent je prihlásenie businessEntityService
pozorovateľné a ja som či to má v skutočnosti údajov, keď som kliknite na tlačidlo, konzoly denníky undefined
.
Chápem, že to asi má čo do činenia s rozsahom a zásobníka hľadá this.business
na deti komponent, ale chcela by som vedieť, či je mimochodom hovor je metóda, ktorá sa používa premennú z predplatného z vlastných komponentov ako Vstup().