假設我有下面的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