我有以下情况:
<cc:interface>
<cc:attribute name="someValue" />
</cc:interface>
<cc:composite>
<x:someComponent>
<span>#{cc.attrs.someValue}</span>
</x:someComponent>
</cc:composite>
因此,在我的复合组件中,我调用其他复合组件并尝试将给定“master”复合组件的参数传递给内部复合组件。
此操作失败,因为在x:someComponent
个标记内,cc
隐式对象似乎改为引用此x:someComponent
。
解决方法是为x:someComponent
创建临时字段,以便实现:
<x:someComponent passthroughField="#{cc.attrs.someValue}">
<span>#{cc.attrs.passthroughField}</span>
</x:someComponent>
然而,这非常难看且不方便。
解决此问题的其他任何方法?
答案 0 :(得分:1)
解决此问题的一种方法是使用ui:param
,如下所示:
<ui:param name="foo" value="cc.attrs.someValue" />
<x:someComponent>
<span>#{foo}</span>
</x:someComponent>
在another question中查看更多内容。