1

子コンポーネントによって発行されたイベント名が誤って変更されるのを防ぐにはどうすればよいですか?

@Component({
    selector: 'app-update',
    template: '<app-reboot-panel (reboot)="doReboot()"></app-reboot-panel>'
})
export class ParentComponent {
    doReboot() {
        console.log('reboot action started');
    }
}
@Component({
    selector: 'app-reboot-panel',
    template: '<div><button (click)="onReboot()">Reboot</button></div>'
})
export class RebootComponent {
    @Output() reboot = new EventEmitter();
    onReboot() {
        console.log('reboot buton clicked');
        this.reboot.emit();
    }
}

テンプレートまたは tsの名前を変更ParentComponent.doReboot()すると、AoT ビルドはそれを検出して失敗します。

発行されたイベントの名前を変更しても@Output() reboot、コンパイラはそれを検出しません。

ParentComponentで使用されるすべてのイベントが に存在するかどうかを確認するために、Angular に組み込みのメカニズムはありますRebootComponentか? そうでない場合、親コンポーネントで正しい @Output 割り当てを単体テストするにはどうすればよいですか? 単体テストRebootComponentができることはわかっていますが、変更@Output() rebootされる可能性があり、触れていないテストも修正される可能性がありますParentComponent

4

0 に答える 0