Sapui5 SAP UI5在片段之间动态切换
如何使用click/press事件在两个片段之间动态切换 我有以下XML片段,它又嵌套了两个片段:Sapui5 SAP UI5在片段之间动态切换,sapui5,Sapui5,如何使用click/press事件在两个片段之间动态切换 我有以下XML片段,它又嵌套了两个片段: <core:FragmentDefinition xmlns="sap.m" xmlns:core="sap.ui.core"> <IconTabFilter id="containerFrag" text="{name}" key="{id}"> <dependents> <co
<core:FragmentDefinition
xmlns="sap.m"
xmlns:core="sap.ui.core">
<IconTabFilter
id="containerFrag"
text="{name}"
key="{id}">
<dependents>
<core:Fragment
fragmentName="com.example.fragments.fragment1"
type="XML" />
<core:Fragment
fragmentName="com.example.fragments.fragment2"
type="XML" />
</dependents>
</IconTabFilter>
</core:FragmentDefinition>
当我使用chrome进行调试时,fragToShow会根据showFrag1参数使用正确的frag进行更新,但是视图不会得到更新-container.addContent(fragToShow)似乎没有任何效果,除非我重新加载页面不确定为什么这样做,但我必须从容器中向上移动一个,然后像这样插入新片段:
let container = oView.byId("containerFrag");
container.getParent().destroyContent();
container.getParent().addContent(fragToShow);
这个例子也有帮助:-尽管它们使用removeAllContent
和insertContent
,但两者似乎都很好
谢谢@D.Seah和@Ethan Jewett您不能参数化
fragmentName
属性吗?(并将其绑定到json模型变量?)也许您想隐藏和显示片段。我同意@d.Seah-为什么不将这两个片段都放在您想要的内容聚合中,只需使用setVisible
方法来控制显示哪一个片段(或者更好地绑定visible
属性)?那么您就不会复制元素/控件,这可能会导致内存泄漏。不幸的是,片段没有任何类型的可见的属性。。。但这似乎是一个巨大的疏忽
let container = oView.byId("containerFrag");
container.getParent().destroyContent();
container.getParent().addContent(fragToShow);