高級アングラーコンポーネントモード(6)
3117 ワード
06 Use
Render Propsは最近
ノート:
Render Propsは最近
React
コミュニティでセンセーションを巻き起こしましたが、これと似たようなモデルはAnglarではあまり注目されていないようです.前に書いた文章で述べましたが、TemplateRefs
はAngular
のRender Props
です.同時にこの文章の中で簡単に使える例を挙げます.ノート:
TemplateRef
はクラス名である.
は一つですhtml
タグは、本質的には同じです.でも、プロジェクトの中でもっと頻繁に使うかもしれません.
ですが、インターネットで簡単に検索できます.TemplateRef
の知識は
はたくさん提供します.html5
のうち 。
, (content directives)。 toggle
コンポーネントの コンポーネントが とする であれば、 に します.しかし、もし の が な が の えの になかったら、どうすればいいですか?
ターゲットtoggle
コンポーネントの を コンポーネントに し、 コンポーネントに するレンダリングビューを することができる(view
).
する
コンポーネントは、 を に することができる.
1.Toggle
コンポーネント
コンポーネントは、ContentChild
を して
に する を ることができ、その 、テンプレートにレンダリング に な を えることができ、コードは の りである.
ここで
は1つのプレースホルダとして され、*ngTemplateOutlet
コマンドを して することができ、layoutTemplate
はレンダリングが なテンプレートを し、context
オブジェクトに まれるキーペアはコンポーネント としてlayoutTemplate
に される.
2. コンポーネントtoggle
コンポーネントから した は、let
キーを して コンポーネントの
タグに を するものである.let
のキーワードの クラスは、let-templatevar="inputvar"
、templatevar
は、
タグに、 するコンポーネントの の を し、inputvar
は、
コンポーネントを するテンプレートのスコープ の を す.
このようなシンタックスは、 コンポーネントのスコープ にすでにinputvar
があるなど、 を に することができる.
stackblitzデモンストレーションアドレス
このようなコンポーネントの モードは の な によって、 は の に してビューのレンダリングの の1 の で、どうしてこのように いますか? の 、サブアセンブリビューのレンダリングロジックは、 されたprops
と が するテンプレートに しているため、 くの 、 の も じないが、レンダリングが かを に ることができないと、この は に になる.
つの は、 レンダリングコマンドを して、 ってきた からコンポーネントレンダリングの を することができます.この はケースが ない は を できますが、 が に きい は、 すぎるストリップ は、サブアセンブリのテンプレートコード を させ、 を させます.レンダリングのたびにいくつかの が われるからです.
の に えて、 で されたモードを して、このようなモードはサブアセンブリビューのレンダリングロジックをサブアセンブリに さまにして、テンプレートで される だけを して、これらの とテンプレートの に して、 コンポーネントに を えるので、サブアセンブリの とテスト を に させます.
では な を げましたが、ここでは の で う のある を に します.つまり、フォームチェックの り コンポーネントです. なフロントエンドコンポーネントの はフォームに するもので、いずれも に です.
フォーム の に するためには、このようなモードを すれば、 を するコンポーネントは、レンダリングフォームエラーメッセージ のみを して する がある であれば いです. えば、dirty
、touched
など、エラー の と については、すべてエラーメッセージコンポーネントの によって われます.