問題タブ [router-outlet]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
12682 参照

angular - データを渡すangular2 でのコンポーネントの相互作用の使用

この手法を使用して、入力プロパティの変更をセッターでインターセプトして、親コンポーネントから子コンポーネントにデータを渡し、値が変更されたときに子コンポーネントのメソッドを呼び出そうとしています。<router-link>私の問題は、次を使用してデータを渡そうとすると、子コンポーネントが親にバインドされることです。

親コンポーネント.html:

some_value は、親から子に渡そうとしているパラメーターです。

親コンポーネント.ts:

親コンポーネント.ts:

ただし、エラーが発生します

未処理の Promise 拒否: テンプレート解析エラー: 「router-outlet」の既知のプロパティではないため、「some_value」にバインドできません。

私は何を間違っていますか?を使用するときに親コンポーネントから子コンポーネントにデータを渡す正しい方法は何<router-outlet>ですか?

事前に感謝し、助けていただければ幸いです。

0 投票する
1 に答える
1500 参照

angular - router-outlet 内のコンポーネントへのルーティング

いくつかのルートを持つアプリがあり、そのうちの 1 つに子供がいます。私の問題は、<router-outlet>表示されるコンポーネントの1つから表示されるものを何らかの形で「上書き」する必要があることです。

私のルートツリーは次のようになります。

app.component.html を次のように設定しました。

ProductsComponent 内に、EditComponent にリンクする必要があるボタンがあります。これは、製品を編集するか、新しい製品を追加するためのページです。だから私はその中にこのようなボタンを作りました:

リンク先のパスは ですproducts/product-container。これは正しいようです。クリックしても、ナビゲーション自体は機能しますが(ブラウザのURLが変わります)、表示されるコンテンツは変わりません。明らかに<router-outlet>、製品ページに別のものを追加すると、その中に EditComponent が表示されます。

問題は、次のとおりです。ProductComponent の [追加] ボタンを押したときに、app.component.html を「上書き」して<router-outlet>、ProductComponent の代わりに EditComponent を表示する方法はありますか?

または、別の方法として、[追加] ボタンで、独自の ngIf などを使用して 2 つのページ パーツを切り替える必要がありますか?


編集:私が考えた別のオプションは、ProductComponent と EditComponent の両方を独自の RoutingModule と同じレベルに配置し、両方の「親」コンポーネントを作成し、その親コン​​ポーネント<router-outlet>内で 1 つを共有することです。そのようなものを実装する前に、最初に他のオプションがあるかどうかを確認したいと思いますが。