sapui5 - SAPUI5 在 JSON 模型 2 中使用来自 JSON 模型 1 的值
问题描述
我可以在第二个 JSON 模型中使用/绑定来自第一个 JSON 模型的值吗?在下面的示例中,第二个模型 (MyNamedModel) 中第一个项目的文本应为“Apple”。
完整的例子可以在这里找到:https ://plnkr.co/edit/WtStoqxsjUAfC9Ia
var oFruits = {
first: "Apple",
second: "Banana"
}
var oFruitModel = new JSONModel(oFruits);
this.getView().setModel(oFruitModel, "FruitModel");
var oData = {
"items": [
{ Key: "A",
Text: "{path: '/FruitModel>/first'}",
Icon: "sap-icon://nutrition-activity"
},
{ Key: "B",
Text: "Paper Plane",
Icon: "sap-icon://paper-plane"
},
{ Key: "C",
Text: "Vacation",
Icon: "sap-icon://general-leave-request"
}
]
};
var oMyModel = new JSONModel(oData);
this.getView().setModel(oMyModel, "MyNamedModel");
用例:实际上我有一个 geoMap 控件,其中 mapConfiguration 在 JSONModel 中,我想从后端获取一个特定的参数值 (URL) 并在 mapConfiguration 中使用它。
解决方案
是的,你可以绑定它。对于以下示例,它将如下所示:
var oData = {
"items": [
{ Key: "A",
// Text: "Apple",
Text: this.getView().getModel("FruitModel").getData().first,
Icon: "sap-icon://nutrition-activity"
}
]
};
基本上,this.getView().getModel("FruitModel").getData()
您可以通过该语句从“FruitModel”访问整个结构。此外,您可以为它分配任何您想要的值。
推荐阅读
- javascript - Vue - 无法将 HTML 地理位置绑定到组件变量
- c# - 在没有按钮事件(如 Excel)的 WPF 程序中验证文本框
- python - 有没有更好的pythonic方法来重写while循环?
- java - 无法在模拟器、Android Studios 上检测到位置
- mysql - MySQL查询-所有时间总计/过去N天总计
- javascript - 如何设置空值或空值在 Jquery 更改中不起作用
- c# - 如何通过单击按钮获取 Xamarin Forms 中的表单字段
- r - 在R中将变量切割成碎片
- python - Python pandas-自动化excel表
- multithreading - 使用 scala 运行框架 2.7