問題タブ [angular2-ngcontent]

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 投票する
0 に答える
313 参照

angular - Angular 2: コンポーネントが動的に作成された後に Projectable Nodes を追加する方法

コンポーネントのリストからタブを動的に作成できるタブ ビューを作成しています。また、これらのコンポーネントが DOM に追加された後、ボタンで追加できるようにしたいと考えています。

ユーザー yurzui の助けのおかげで、コンポーネントの初期作成を機能させることができました (こちらを参照)。課題は、Tabs コンポーネントが作成されると、動的に作成されたタブを追加するために投影可能なノード リストにアクセスできないことです。

これがプランクです:

タブが次のように追加されるたびに、おそらくタブコンポーネントを再作成できることはわかっています。

これらのコンポーネントは非常に複雑になる可能性があり、ロード時間が不合理になる可能性があるため、これは避けたいと思います。

コンポーネントが作成された直後に投影可能なノードにアクセスするのは、API に尋ねるのは難しいかもしれません。そのことを念頭に置いて、この既にインスタンス化された TabsRef にタブを追加するのに役立つメソッドが ComponentRef にあるかどうかを調べました。

これは近いです:

残念ながら、タブが定義されていないため、これは機能しません。私が見逃している別のアプローチがあれば、私はそれを受け入れます。または、これが不可能な場合は、それも知りたいです。

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

angular - ng-content 使用時に内部コンポーネントを削除する方法

これを書くことができるように、ポップアップメニューを除外しようとしています:

次の HTMLを持つpanel-menuコンポーネントがあります。

そしてpanel-menu-itemこのHTMLで:

問題は、結果の DOM に と のpanel-menu-item間に がulありli、サードパーティの CSS が壊れることです。

子供自身ではなく、選択した子供のコンテンツだけを投影する方法はありますか?

This answerliは、コンポーネントの代わりに属性を使用することを提案していますが、実装が漏れています。のユーザーは、panel-menuメニュー項目がどの要素として実装されているかを知る必要はありません。