![](/img/trans.png)
[英]How to create in controller a JSON model from a local JSON file in SAPUI5 V1.38.39?
[英]SAPUI5 Access json model from another controller
我是SAPUI5的新手,我正在对“母版”和“详细信息”页面进行一些练习。
我有2个视图, Master.view.xml和Detail.view.xml 。 Master.view.xml包含员工列表。 当用户单击员工时,它将导航到详细信息视图。 Detail.view.xml包含所选员工的详细信息。
每个视图都有其对应的控制器。 我已将json模型放入Master.controller.js中 。
我如何在不传递数据的情况下从Master.controller.js到Detail.view.xml访问json模型? 这有可能吗?
@keshet
这是我在“母版”页面中创建的列表:
<List xmlns="sap.m"
id="masterList"
headerText="{i18n>masterHeaderText}"
footerText="Updated: September 4, 2015"
items="{/employeeDetails}"
itemPress="" >
<StandardListItem xmlns="sap.m"
id="{empid}"
title="{name}"
description="{levelDesc}"
info="{cubeNo}"
type="Navigation"
tap="handleListItemPress" />
</List>
现在,我试图将StandardListItem的ID更改为来自模型的员工的ID。 但是出现一个错误,说我不能使用Empid作为StandardListItem的ID。 我该怎么做呢?
您可以全局声明模型,因此所有视图都可以访问它。 定义全局模型:
var oModel = new sap.ui.model.json.JSONModel(oData);
sap.ui.getCore().setModel(oModel);
要从另一个视图中的模型检索数据:
var oData = sap.ui.getCore().getModel().getData();
如果要使用多个全局模型,也可以为模型命名:
var oModel = new sap.ui.model.json.JSONModel(oData);
sap.ui.getCore().setModel(oModel, "modelname");
var oData = sap.ui.getCore().getModel("modelname").getData();
您可以通过将模型设置为主模型来实现。 现在详细获取视图及其对应的模型。
主控制器
oModel = new sap.ui.model.json.JSONModel(oData); sap.ui.getView()。setModel(oModel);
详细信息或您想要的任何地方:
oModel = sap.ui.getView()。getModel();
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.