他のコンポーネントから呼び出したいToastComponent
というトースト通知コンポーネントがあります。私は、someSaveMethod()
メソッドを呼び出すことで角4 - @ViewChildコンポーネントが定義されていません
export class UserManagementComponent implements OnInit {
@ViewChild(ToastComponent) toast: ToastComponent;
constructor() {}
someSaveMethod() {
this.toast.showToast() // throws error below
}
}
:
ToastComponent
:
export class ToastComponent implements OnInit {
constructor() {}
showToast() {
// some code
}
}
app.component.html
:
<llqa-main-container>
<llqa-header></llqa-header>
<div class="content-container">
<main class="content-area">
<llqa-toast></llqa-toast> <!-- ToastComponent which I want to call -->
<router-outlet></router-outlet>
</main>
</div>
</llqa-main-container>
UserManagementComponent
<router-outlet>
内である私はこのようにそれを実装しましたtoast
が定義されていないというエラーが表示されます。
<llqa-toast></llqa-toast>
をapp.component.html
から取り出してuser-management.component.html
の上に置いてもうまくいきますが、すべてのコンポーネントに入れなければなりません。これをどのように機能させることができますか?
? 'someSaveMethod'の呼び出しの前に' ToastComponent'のコンストラクタが呼び出されたかどうか 'console.log()'ステートメントで調べてみてください。 –