2016-09-01 18 views
1

メインコンポーネントには[戻る]ボタンがあり、常に表示されるわけではありません(子コンポーネントによって異なります)。それを働かせるには?私は運がないローカル変数を使ってみました。私はChildComponentでルータ経由のローカル変数

<button *ngIf="child.goBackUrl">Back</button> 
<router-outlet #child></router-outlet> 

を以下している私のapp.component.html(親)で

私はこれが動作しない

goBackUrl: string = "test"; 

を持っています。親コンポーネントから子変数とメソッドにアクセスできる方法が必要です。子コンポーネントの内部にある親からメソッドを呼び出そうとすると、

ORIGINAL EXCEPTION: TypeError: self._el_102.goBack is not a function

アイデアがありますか?私はいくつかの異なることを試しましたが、運はありません

+0

に示されているように、他のすべての状況で

は、共有サービスを使用し、子供は何ですか?もっとコードを投稿してください。あなたがルータによって追加されたコンポーネントでバインディングを使用することはできません。 –

+0

これはまさに私が必要とする、ルータによって追加されたコンポーネントとのバインディングです。または、AppComponent(メインコンポーネント)が子コンポーネントにアクセスする別の方法(ルーターによって追加)。 –

+0

'window.history.back()'を使用できませんか? –

答えて

関連する問題