4

私は次の場合があります:

<cc:interface>
    <cc:attribute name="someValue" />
</cc:interface>

<cc:composite>
    <x:someComponent>
        <span>#{cc.attrs.someValue}</span>
    </x:someComponent>
</cc:composite>

したがって、複合コンポーネント内で、他の複合コンポーネントを呼び出し、「マスター」複合コンポーネントに指定されたパラメーターを内部複合コンポーネントに渡そうとしています。

x:someComponentタグ内では、cc暗黙のオブジェクトが代わりにこれを参照しているように見えるため、これは失敗しますx:someComponent

x:someComponent回避策は、次のように実現できるように、の一時フィールドを作成することです。

<x:someComponent passthroughField="#{cc.attrs.someValue}">
    <span>#{cc.attrs.passthroughField}</span>
</x:someComponent>

しかし、それは非常に醜くて不便です。

この問題を回避する他の方法はありますか?

4

1 に答える 1

1

これをハックする1つの方法は、次のように使用することui:paramです。

<ui:param name="foo" value="cc.attrs.someValue" />
<x:someComponent>
    <span>#{foo}</span>
</x:someComponent>

別の質問で詳細を参照してください。

于 2011-01-04T18:27:18.307 に答える