我有一个嵌套在另一个组件中的组件,我想在父组件中创建一个事件,以调用子组件上的方法,我知道它可以通过输入和输出进行操作,但是我找不到那里的教程是事件。 这是我在父亲模板上的代码行,但是方法“ getSemana()”在子组件上
<li><a [routerLink]="['/menu/graficas']" (click)="getSemana()"><i class="fa fa-circle-o"></i>Ultima Semana</a></li>
答案 0 :(得分:0)
通常,您需要相反的方法。子组件触发父组件上的功能。如果您想以其他方式执行此操作,则可以在父级中创建一个getSemanaFlag
,并将其传递给子级,子级在ngOnChanges中侦听它,然后可以触发逻辑。看起来像这样。您的代码非常少,因此我将给您一个非常小的描述。您可能不想要setTimeout,但这是我目前所能想到的最好的内容。
parent.component.html
<li><a [routerLink]="['/menu/graficas']" (click)="setSemanaFlag()"><i class="fa fa-circle-o"></i>Ultima Semana</a></li>
...
<child-component [semanaFlag]="semanaFlag"></child-component>
parent.component.ts
setSemanaFlag() {
this.semanaFlag = true;
setTimeout(() => this.semanaFlag = false, 100);
}
child.component.ts
@Input() semanaFlag
ngOnChanges(changes: SimpleChanges) {
if (changes.semanaFlag && changes.semanaFlag.currentValue === true) {
this.getSemana();
}
}