在表I的items属性中设置我的路径:
items="{path: 'model>/elements/idStabMagTable/elements/'}">
现在我想要地图两个不同的模型(model
包含数据,enable
用于管理行的类型
<items>
<ColumnListItem type="{enable>row_enable}"> //"Navigation" or none
<cells>
<Text text="{model>society/description}"/>
...
</cells>
</ColumnListItem>
</items>
这是我的模型model
:
"idTable": {
"elements": [
{
"language": {
"code": "01",
"description": "ITALIANO"
},
"scheda": "rome"
},
{
"language": {
"code": "04",
"description": "TEDESCO"
},
"scheda": "berlino"
}
]
}
这是我的模型enable
"idTable": {
"elements": [
{
"language": true,
"scheda": true,
"_row": true
},
{
"language": false,
"scheda": false,
"_row": false
}
]
}
我将这两个模型保存到两个不同的文件中,然后将其管理为两个不同的JSONModel。 现在我想在每一行中设置第一个模型的值和第二个模型的启用信息
但是在项目路径中我只能映射一条路径!我可以映射两个模型吗? (model
和enable
)
答案 0 :(得分:0)
我找到了解决方案! 它工作正常,允许我维护不同的模型。
如果在表格(或列表)中,我的元素有这条路径:
items="{path: 'model>/elements/idStabMagTable/elements/'}">
如果我想在ColumnListItem中的模型模型中绑定一个属性,我写
<Text text="{model>society/description}"/>
如果我的第二个模型enable
具有model
模型的相同结构,我可以在此模式下映射相同的属性但在enable
模型中:
<Text text="{parts:[{path:'model>society'}], formatter:'ui5bp.Formatter.elementEnable'}"/>
这是我的格式化函数:
elementEnable: function (oEl) {
var sPath = this.getBindingInfo("text").binding.oContext.sPath;
var sProperty = this.getBindingInfo("text").parts[0].path;
sPath=sPath+"/"+sProperty;
var oEnableModel= ui5bp.products.getModel("enable"); //same path, different model
var oValueEnable=oEnableModel.getProperty(sPath);
return oValueEnable;
}