¿如何在片段处理程序中使用byId进行控制?

2020-08-15 12:18发布

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

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


大家好,

我正在使用SAPUI5应用程序。 我有一个包含XML片段的XML视图。 该代码段包含一些组件,如按钮,输入字段和表格。 访问代码段显示时,我需要调用oDATA服务并将信息加载到表中。 问题出在片段的处理程序中,我在使用其ID访问表时遇到错误。

 sap.ui.define([
 " sap/ui/core/mvc/Controller",
 " sap/ui/model/json/JSONModel",
 " sap/m/MessageToast"
 ],函数(控制器,JSONModel,MessageToast){
 "使用严格";
 var oView;
 return Controller.extend(" xxx.xxxxxx.controller.Fragment",{
 onInit:函数(){
 },
 onAfterRendering:function(){
 },
 onClick:函数(oEvent){
 },
 构造函数:函数(oArg){
 this.oParent = oArg;
 var oTable = this.oParent.byId(" tableTest");
 console.log(oTable);
 返回Controller.call(this);
 }
 });
 }); 

输出:未定义

¿有人可以帮助我如何在片段处理程序中使用byId进行控制吗?

谢谢。

最诚挚的问候,

克莱德曼

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

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


大家好,

我正在使用SAPUI5应用程序。 我有一个包含XML片段的XML视图。 该代码段包含一些组件,如按钮,输入字段和表格。 访问代码段显示时,我需要调用oDATA服务并将信息加载到表中。 问题出在片段的处理程序中,我在使用其ID访问表时遇到错误。

 sap.ui.define([
 " sap/ui/core/mvc/Controller",
 " sap/ui/model/json/JSONModel",
 " sap/m/MessageToast"
 ],函数(控制器,JSONModel,MessageToast){
 "使用严格";
 var oView;
 return Controller.extend(" xxx.xxxxxx.controller.Fragment",{
 onInit:函数(){
 },
 onAfterRendering:function(){
 },
 onClick:函数(oEvent){
 },
 构造函数:函数(oArg){
 this.oParent = oArg;
 var oTable = this.oParent.byId(" tableTest");
 console.log(oTable);
 返回Controller.call(this);
 }
 });
 }); 

输出:未定义

¿有人可以帮助我如何在片段处理程序中使用byId进行控制吗?

谢谢。

最诚挚的问候,

克莱德曼

付费偷看设置
发送
4条回答
SAP小菜
1楼-- · 2020-08-15 12:43

您好leandro,

您可以得到如下所示的控制权。 首先,您需要调用片段

 sap.ui.require([" sa/ui/core/Fragment"],function(Fragment){
     Fragment.load({
         名称:"您的片段路径xxxx"
     })。then(function(myButton){
        //...
     });
 });
 var theSameButton = this.byId(" btnInFragment");


//否则尝试

 sap.ui.getCore()。byId(""); 

谢谢

拉克希米。

ZJXianG
2楼-- · 2020-08-15 12:52

嗨,拉克希米,

我将该片段称为:

 
 <内容>
 
 
 
 

片段控制器XML:

 
 
 <扩展名>
 
 
 
 
 

 
 <列>
 
 
 <模板>
 
 
 
 
 <模板>
 
 
 
 <栏目>
 
 <模板>
 
 
 
 <栏目>
 
 <模板>
 
 
 
 
 
 <模板>
 
 
 
 
 <页脚>
 
 
 


谢谢。

悠然的二货
3楼-- · 2020-08-15 12:45

嗨Cleyderman,

您可以尝试使用以下代码:

 var object = sap.ui.core.Fragment  .byId(" myDialogId"," myControlId"); 
打个大熊猫
4楼-- · 2020-08-15 12:44

嗨Cleyderman,

我实际上不理解为什么要为Fragment视图创建一个控制器 。 片段通常取决于主视图,并且作为从属控件,它由主视图的控制器进行管理和控制。 除非您有充分的理由继续执行此操作,否则建议您将片段作为对主视图的依赖控件。

一周热门 更多>