假设我有下面的XML视图:如何在XML视图中动态加载XML片段?
<core:View xmlns:core="sap.ui.core" ...>
<Page>
<content>
<l:VerticalLayout>
<l:content>
<core:Fragment fragmentName="my.static.Fragment" type="XML" />
</l:content>
</l:VerticalLayout>
</content>
</Page>
</core:View>
片段my.Fragment
被静态加载。但是,我现在想要动态更改要加载的片段(理想情况下使用数据绑定fragmentName
属性,但其他任何方法也应该可以),即。是这样的:
<core:View xmlns:core="sap.ui.core" ...>
<Page>
<content>
<l:VerticalLayout>
<l:content>
<core:Fragment fragmentName="{/myDynamicFragment}" type="XML" />
</l:content>
</l:VerticalLayout>
</content>
</Page>
</core:View>
然而,后者不工作,和碎片定义不允许使用数据绑定......我可能会错过一些东西,但我应该如何动态地更改片段在我的XML视图基于参数/模型属性/ etc?
现在,我使用了一个自定义控件,而不是直接在视图中使用片段,并让该控件调度到相应的片段,但我觉得应该有一个更容易,开箱方式...
+1的想法!恐怕解决这个问题的唯一方法就是在控制器中执行它,这可能更有意义,因为您可以管理片段的整个生命周期。 – 2014-09-08 06:59:40