問題タブ [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.
angular - データを渡すangular2 でのコンポーネントの相互作用の使用
この手法を使用して、入力プロパティの変更をセッターでインターセプトして、親コンポーネントから子コンポーネントにデータを渡し、値が変更されたときに子コンポーネントのメソッドを呼び出そうとしています。<router-link>
私の問題は、次を使用してデータを渡そうとすると、子コンポーネントが親にバインドされることです。
親コンポーネント.html:
some_value は、親から子に渡そうとしているパラメーターです。
親コンポーネント.ts:
と
親コンポーネント.ts:
ただし、エラーが発生します
未処理の Promise 拒否: テンプレート解析エラー: 「router-outlet」の既知のプロパティではないため、「some_value」にバインドできません。
私は何を間違っていますか?を使用するときに親コンポーネントから子コンポーネントにデータを渡す正しい方法は何<router-outlet>
ですか?
事前に感謝し、助けていただければ幸いです。
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 つを共有することです。そのようなものを実装する前に、最初に他のオプションがあるかどうかを確認したいと思いますが。