点击此处---> 群内免费提供SAP练习系统(在群公告中)
加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)
您好,我想在控制器中创建一个全局变量,所以不必在其他函数中再次创建变量
这是我的代码:
onInit:function(){ }, onBuscar:function(){ var oData =新的JSONModel; oData.rut = this.byId(" irut")。getValue(); oData.nombres = this.byId(" iNombres")。getValue(); oData.apellidos = this.byId(" iApellidos")。getValue(); oData.calle = this.byId(" iDir1")。getValue(); oData.numero = this.byId(" iDir2")。getValue(); oData.casa = this.byId(" iDir3")。getValue(); oData.comuna = this.byId(" iDir4")。getValue(); oData.tlfFijo = this.byId(" iTlf1")。getValue(); oData.tlfMovil = this.byId(" iTlf2")。getValue(); oData.mail = this.byId(" iMail")。getValue(); oData.pais = this.byId(" iPais")。getValue(); MessageToast.show(oData.rut); }, onModif:function(){ }, onCrear:function(){ }
我尝试在oninit函数中创建,但遇到这样的未定义变量错误
onInit:function(){ this.oData =新的JSONModel; oData.rut = this.byId(" irut")。getValue; },
onBuscar:function(){MessageToast.show(oData.rut); }
有什么建议吗? 谢谢!
更新1
我尝试了这个,但是当我打印时,我的值是空的:/除非我的输入是可编辑的假
onInit:function(){ $ .oData =新的JSONModel; $ .oData.rut = this.byId(" irut")。getValue(); $ .oData.nombres = this.byId(" iNombres")。getValue(); $ .oData.apellidos = this.byId(" iApellidos")。getValue(); $ .oData.calle = this.byId(" iDir1")。getValue(); $ .oData.numero = this.byId(" iDir2")。getValue(); $ .oData.casa = this.byId(" iDir3")。getValue(); $ .oData.comuna = this.byId(" iDir4")。getValue(); $ .oData.tlfFijo = this.byId(" iTlf1")。getValue(); $ .oData.tlfMovil = this.byId(" iTlf2")。getValue(); $ .oData.mail = this.byId(" iMail")。getValue(); $ .oData.pais = this.byId(" iPais")。getValue(); }, onBuscar:function(){ MessageToast.show($。oData.rut); },
我建议使用模型来绑定数据。
但是如果您偏爱使用它,则必须在onInit()之前在controller中声明变量。 另外,您不需要使用此:
因为您修改了json模型的标准结构以获取价值。
查看指南以了解如何使用MVC模型
https://sapui5.hana.ondemand.com/#/topic/3da5f4be63264db99f2e5b04c5e853db
感谢恩里克·卡斯特拉·冈萨雷斯!
这不是一个好习惯。 但是,您可以使用this.myVar ='value1'; 并在任何函数中使用它。
谢谢,因此,为避免重写相同的代码,您建议采取什么措施?
在大多数情况下,这是个坏主意。
谢谢! Jun ,但我想避免重写相同的代码
一周热门 更多>