読者です 読者をやめる 読者になる 読者になる

レイアウト共有

ちょっと画像が小さいですけど、右の図のような関係です。
一番上のがコンポーネントで、真ん中に対してアクセスします。
で、baseを共有します。


追記
doRenderでレンダリング範囲を決めて、それをinsertで入れる。
という理解であってますよね?


doRenderのレンダリング範囲内でコンポーネントを使いたい場合は、
doRenderの子タグとしてコンポーネントをinsertすればいい。はず。
でも、なぜかコンポーネントだけがレンダリングされる。
試しに子タグをコメントアウトすると親はレンダリングされる。当たり前か。


なので、上の図で考えると、
component.htmlでコンポーネントとしてレンダリングしたい範囲をdoRenderで指定。
target.htmlでレンダリングしたい範囲をdoRenderで指定。
その中でコンポーネントを使いたいので、子タグとしてinsertを指定。
さらに、base.htmlを共有したいので、target.htmlにextendsで指定し、挿入する個所をinsertで指定する。
これでいけるはずなんだけど、target.htmlのdoRenderがうまく動かない。
上に書いたようにinsertだけレンダリングされます。