UI5 XML嵌套循环场景下如何获取上层循环的上下文
UI5 XML视图嵌套循环访问外层上下文解决方案
实现方法
直接在内层Text控件的text属性绑定中使用相对路径向上回溯一级父上下文即可,语法为{model>../title}。
修改后的完整视图代码如下:
<List showSeparators="None" items="{path: 'model>/items', templateShareable: false}" > <items> <CustomListItem> <List showSeparators="None" items="{path: 'model>subItems', templateShareable: false}" > <items> <CustomListItem> <Text text="{model>../title}" /> </CustomListItem> </items> </List> </CustomListItem> </items> </List>
原理解释
- UI5的绑定上下文为层级继承关系,内层
subItems循环的绑定上下文默认是外层items单条数据的子节点 - 相对绑定路径中的
../逻辑和文件系统路径规则一致,表示向上回溯一级父绑定上下文 - 示例中的
{model>../title}就是先回到外层items单条数据的上下文,再读取对应title属性值
如果是更多层嵌套循环,需要回溯N级上下文就写N个../即可,例如三层循环要获取最外层上下文属性,写法为{model>../../属性名}。
内容的提问来源于stack exchange,提问作者Charles
相关产品推荐
相关产品推荐

