Предположим, у меня есть следующий вид 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 за идею! Я боюсь, что единственный способ справиться с этим - это сделать это в контроллере, который, вероятно, имеет больше смысла, поскольку вы можете управлять всем жизненным циклом фрагмента. –