非常に単純な出力イベントとハンドラを持つ2つのコンポーネントがあり、子サブモジュールの値をapp.module
のコンポーネントに渡そうとしています。ここで私は、次のコンポーネントが含まれてtutorialModule
をインポート私app.component.ts私app.module.tsでng2サブモジュールのコンポーネントからイベントを出力()するには?
@Component({
selector: 'my-app',
template: `
<sidebar *ngIf="showHeader" (everySecond)="everySecond()" ></sidebar>
<navbar *ngIf="showHeader" (toggleNav)="toggleNav($event)"></navbar>
<router-outlet></router-outlet>`,
directives: [homeComponent, sidebarComponent, navbarComponent]
})
export class AppComponent {
everySecond() { console.log('second'); }
}
です。
ItutorialComponent
へのルート、私はtutorialComponentはの指示として宣言されていないため、これがあると仮定します。「here2ログがプリントアウトされますが、 『第二』 1がトリガされることはありませんが
export class tutorialComponent {
@Output() everySecond = new EventEmitter();
constructor() {
this.everySecond.emit("event");
console.log("here");
}
}
、例えば
:app.component(それがモジュールとしてインポートされたように)どのように私はこの作業を取得ん
"this.everySecond.emit(" event ")"をngOnInitメソッドに配置しようとしましたか? –