2015-09-10 3 views
1

Я новичок в SAPUI5, и я делаю несколько упражнений по страницам мастера и детали.SAPUI5 Доступ к модели json от другого контроллера

У меня есть 2 мнения, Master.view.xml и Detail.view.xml. Master.view.xml содержит список сотрудников. Когда пользователь нажимает на сотрудника, он перейдет к подробному представлению. Detail.view.xml содержит подробную информацию о выбранном сотруднике.

Каждый вид имеет соответствующий контроллер. Я положил свою модель json в Master.controller.js.

Как я могу получить доступ к модели JSon от Master.controller.js к Detail.view.xml без прохождения данных? Возможно ли это?


@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 на идентификатор работника, из модели. Но появляется ошибка, говорящая, что я не могу использовать empid как идентификатор стандартного списка. Как мне это сделать?

+0

Взгляните на это: [link] (http://stackoverflow.com/questions/27274452/using-model-for-id-assignment) – keshet

ответ

6

Вы можете объявить свою модель по всему миру, поэтому все представления будут иметь к ней доступ. Для определения глобальной модели:

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(); 
+0

Спасибо за ваш ответ @keshet. Я сделал это, но я не могу проверить его еще на странице подробностей. Я все еще работаю над передачей идентификатора выбранного списка с главной страницы на страницу «Сведения». – sp0617

1

Вы можете сделать это, установив свою модель на освоение. Теперь детально получим представление и соответствующую модель.

Мастер эксплуатации контроллеров

oModel = новый sap.ui.model.json.JSONModel (OData); sap.ui.getView(). SetModel (oModel);

Деталь или в любом месте вы хотите: -.

oModel = sap.ui.getView() getModel();

Смежные вопросы