如何在 ngSwitch 的 Angular 2+ 中将事件从子组件绑定到父组件
How to bind event from child to parent component in Angular 2+ in ngSwitch
我的父组件使用 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
的情况下调用组件,那么它工作正常。
任何帮助将不胜感激。
这很好用:
Parent 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>
Parent 老师:
valuess = 1;
toggleHelp(evt) {
console.log('event fired',evt);
}
changeValue(){
this.valuess = 2;
}
Child HTML :
<a (click)="toggleHelpCall()">toggleHelp</a>
Child 老师:
export class ChildComponent implements OnInit {
@Output() toggleHelp = new EventEmitter();
constructor() { }
ngOnInit() {
}
toggleHelpCall() {
this.toggleHelp.emit(true);
}
}
我的父组件使用 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
的情况下调用组件,那么它工作正常。
任何帮助将不胜感激。
这很好用:
Parent 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>
Parent 老师:
valuess = 1;
toggleHelp(evt) {
console.log('event fired',evt);
}
changeValue(){
this.valuess = 2;
}
Child HTML :
<a (click)="toggleHelpCall()">toggleHelp</a>
Child 老师:
export class ChildComponent implements OnInit {
@Output() toggleHelp = new EventEmitter();
constructor() { }
ngOnInit() {
}
toggleHelpCall() {
this.toggleHelp.emit(true);
}
}