假设我有以下XML视图:
<mvc:View xmlns:mvc="sap.ui.core.mvc" ...>
<Page>
<content>
<l:VerticalLayout>
<l:content>
<core:Fragment fragmentName="my.static.Fragment" type="XML" />
</l:content>
</l:VerticalLayout>
</content>
</Page>
</mvc:View>
Run Code Online (Sandbox Code Playgroud)
片段my.Fragment是静态加载的.但是,我现在想要动态更改要加载的片段(理想情况下使用绑定fragmentName属性的数据,但任何其他方法也应该没问题),即.这样的事情:
<mvc:View xmlns:core="sap.ui.core.mvc" ...>
<Page>
<content>
<l:VerticalLayout>
<l:content>
<core:Fragment fragmentName="{/myDynamicFragment}" type="XML" />
</l:content>
</l:VerticalLayout>
</content>
</Page>
</mvc:View>
Run Code Online (Sandbox Code Playgroud)
但是,后者不起作用,Fragment定义不允许数据绑定......我可能错过了一些东西,但是如何基于参数/模型属性/ etc动态更改XML视图中的Fragment?
现在,我已经使用自定义控件而不是直接在我的视图中使用片段,并让该控件执行调度到相应的片段,但我觉得应该有一个更容易,开箱即用的方式. ..
我想处理Text控件(sap.m)中值的颜色.如果值为"TRUE",则颜色为绿色.否则,如果值为红色,则为红色"FALSE".
<Text
class="{= ${HintTable>IS_ENABLED} === 'TRUE' ? 'greenTextColor' : redTextColor'}"
text="{HintTable>IS_ENABLED}"
/>
Run Code Online (Sandbox Code Playgroud)
但它似乎没有奏效.我的意思是,class不能接受"greenTextColor"也不"redTextColor".
我做错了什么?
sapui5 ×2