それはコードですので、私は、単純なイベント・エミッターを書く必要がありますが、それは動作していないようです:持つEventEmitter角度2キャッチイベントとデバッグ
AppComponent
とメインアプリケーションのコンポーネント
@Component({
selector:'my-app',
templateUrl:'app/app.component.html',
styleUrls:['app/app.component.css'],
directives:[ROUTER_DIRECTIVES,MenuBar],
})
export class AppComponent{
title:'My App'
activated(event:Routes){
console.log('activated');
console.log(received)
}
}
AppComponent。 html
<h1>{{title}}</h1>
<menu-bar (activate)="activated($event)"></menu-bar>
<div class="router-wrapper">
<router-outlet></router-outlet>
</div>
ダウンロード
@Component({
.... component's configurations....
})
class Download implements OnInit{
... some attributes and code ...;
@Output() activate:EventEmitter <Routes>= new EventEmitter<Routes>();
r:Routes={};
test(): void{
console.log('emit start')
console.log(this.r);
try{
this.activate.emit(this.r)
}
catch(err){
console.log(err)
}
console.log('sent')
}
}
ダウンロードコンポーネントはルータコンセントにあります。 まず最初に、ダウンロードコンポーネントのconsole.logメッセージがすべて表示されますが、アプリコンポーネントにメッセージが表示されない理由は何ですか?私は間違って何をしていますか?
第2の問題は、メッセージの伝播に問題があると思います(私は間違っているかもしれません)ので、emitをデバッグしてイベントをグローバルにキャッチしたいと思いますか?もしそうなら、どうすればいいのですか?