如何使用绑定路径/上下文通过单个视图/控制器构建(多页面应用程序)?

2020-09-26 16:23发布

点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)我正在构建一个创建调查/问卷应用...

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


我正在构建一个创建调查/问卷应用程序,其中每个问题都具有与模型绑定的完全相同的格式。

是否可以使用一个控制器+视图执行此操作,并且只需操纵绑定上下文/路径?

我已经在SAP WEB IDE中为此创建了一个视图。 当我单击"添加新问题"按钮(以显示问题2的输入)时,如何准确设置新的绑定路径/上下文以接受其数据?

(48.0 kB)
6条回答
当学会了学习
2020-09-26 17:08

代码为:

View.xml

 
 
 <页面>
 
 <内容>
 
 

控制器:

 sap.ui.define([
 " sap/ui/core/mvc/Controller",
 " sap/ui/model/json/JSONModel"
 ],函数(Controller,JSONModel){
 "使用严格";


 return Controller.extend(" myApp.controller.View1",{

 onInit:function(){
 var oModel = new JSONModel({
 问题:[
 {myProperty:'AAA'},
 {myProperty:'BBB'},
 {myProperty:'CCC'}
 ]
 });
 this.getView()。setModel(oModel);
 var oContext = oModel.createBindingContext("/img/Questions/1/");
 this.getView()。setBindingContext(oContext);
 },

 onPrevButton:函数(oEvent){
 var oCtx = this.getView()。getBindingContext();
 var oModel = oCtx.getModel();
 var iIndex = parseInt(oCtx.getPath()。slice(11));
 this.getView()。setBindingContext(oModel.createBindingContext("/img/Questions/" + --iIndex +"/")));

 },

 onAddQuestion:函数(oEvent){
 var oModel = this.getView()。getModel();
 var jData = oModel.getData();
 jData.Questions.push({myProperty:'DDD'});
 var newIndex = jData.Questions.length-1;

 oModel.setData(jData);
 this.getView()。setBindingContext(oModel.createBindingContext("/img/Questions/" + newIndex +"/"));;

 }

 });
 });
 

一周热门 更多>