我最近加入了 GWT,并对此感到满意。
@UiChild 很好,因为它允许我们以编程方式添加子元素,除了它们在 UIBinder ui.xml 中的表示。
然而,我发现了一些看起来很臃肿而且有点奇怪的东西。
所以,当我第一次遇到@UiChild 时,我认为它会像这样工作。
<g:FlowPanel>
<c:CustomWidget customWidgetParameter="I am a
parameter"ui:field="customFieldMappingName"/>
</g:FlowPanel>
@UiChild(tagname ="CustomWidget" )
public void addCustomWidget(CustomWidget cw)
干净整洁。我认为 GWT 会寻找任何“CustomWidget”标签。但是,经过研究,我发现我必须做这样的事情。
<g:FlowPanel>
<c:addCustomWidget>
<c:CustomWidget customWidgetParameter="I am a parameter"
ui:field="customFieldMappingName"/>
</c:addCustomWidget>
</g:FlowPanel>
@UiChild(tagname ="addCustomWidget" )
public void addCustomWidget(CustomWidget cw)
我这样做是错误的吗?或者我是否缺少某种原因/微小的细节来说明为什么它会这样实现?