我的父组件使用ngSwitch案例调用子组件:
<div *ngSwitchDefault>
<app-child-comp (toggleHelp)="toggleHelp($event)"></app-child-comp>
</div>
在子组件中:
@Output() toggleHelp = new EventEmitter();
this.toggleHelp.emit(true);
在父组件中:
toggleHelp() {
console.log('event fired');
}
到目前为止还没有成功。
如果我在没有ngSwitch
的情况下调用组件,那么它可以正常工作。
任何帮助将不胜感激。
答案 0 :(得分:0)
这很好用:
父HTML:
<div [ngSwitch]="valuess">
<div *ngSwitchCase="1">11111111111111111</div>
<div *ngSwitchDefault>
<app-child (toggleHelp)="toggleHelp($event)">
</app-child>
</div>
</div>
<a (click)="changeValue()">valuess</a>
家长TS:
valuess = 1;
toggleHelp(evt) {
console.log('event fired',evt);
}
changeValue(){
this.valuess = 2;
}
儿童HTML:
<a (click)="toggleHelpCall()">toggleHelp</a>
儿童TS:
export class ChildComponent implements OnInit {
@Output() toggleHelp = new EventEmitter();
constructor() { }
ngOnInit() {
}
toggleHelpCall() {
this.toggleHelp.emit(true);
}
}