有没有一种方法可以在 emit 事件上触发一个函数而不仅仅是 onChange?

Is there a method to trigger a function on emit event and not only onChange?

当我按下 parent 元素中的箭头时,我总是发出 true。 child 仅在发射器从未定义变为真时才在开始时接收更改。是否有一种方法可以在 parent 发出某些东西时始终调用该函数,即使它的值与纬度时间相同?

Parent HTML:

<div (click)="emit()">
<child [changed_slide]= "changed_slide"></child>

Parent.ts:

emit(){this.changed_slide.emit(true);}

Child:

ngOnChanges(changes: { [property: string]: SimpleChange }){
    let change: SimpleChange = changes['changed_slide'];
    console.log(change);
    }

所以我希望每次单击 parent div "true" 时都会发出(或其他所有内容,我只想发出一些东西以便在child) 然后在child 中会自动触发一个函数。每次我单击 parent 时,child 都会执行某些操作。 如果有任何想法,我将不胜感激,谢谢!

就像您将数据从父元素发送到子元素一样,您可以在子元素中使用一组@Input:

**Child**
    private _changed_slide: boolean;
    @Input() public set changed_slide(value: boolean) {
       this._changed_slide = value;
    }

那么在你的父级中,你可以这样做:

export class ParentComponent {
    private eventSource: Subject<boolean>;
    public event$: Observable<boolean>;
    constructor() {
     this.eventSource = new Subject();
     this.event$ = this.eventSource.asObservable();
    }

    emit() {
      this.eventSource.next(true);
    }
}

Html:

<div (click)="emit()">
<child [changed_slide]= "event$ | async"></child>