在对话框按钮内调用函数

2020-09-15 14:27发布

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

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


你好

我想在按下按钮后在对话框内调用函数:看起来像这样:

示例:function(oEvent){
     console.log(" a");
 },


 var dialog = new Dialog({
   标题:"标题",
   类型:"消息",

   内容:[新标签({
                  文字:"参数1",labelFor:" labelforparameter1"}),
 新的TextArea('labelforparameter1',{
 宽度:" 50%",
 高度:" 50%",
 占位符:"填写"})],

   beginButton:新按钮({
 文字:"下载",
 图标:" sap-icon://download",
 按下:功能(){
                         this.example(oEvent); //这就是我想在哪里调用函数
 });
           dialog.open();

 }
      
 

但是我总是收到错误消息, this.example 不是一个函数。

两个功能都在同一控制器中定义。

我该如何解决这个问题?

谢谢。

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

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


你好

我想在按下按钮后在对话框内调用函数:看起来像这样:

示例:function(oEvent){
     console.log(" a");
 },


 var dialog = new Dialog({
   标题:"标题",
   类型:"消息",

   内容:[新标签({
                  文字:"参数1",labelFor:" labelforparameter1"}),
 新的TextArea('labelforparameter1',{
 宽度:" 50%",
 高度:" 50%",
 占位符:"填写"})],

   beginButton:新按钮({
 文字:"下载",
 图标:" sap-icon://download",
 按下:功能(){
                         this.example(oEvent); //这就是我想在哪里调用函数
 });
           dialog.open();

 }
      
 

但是我总是收到错误消息, this.example 不是一个函数。

两个功能都在同一控制器中定义。

我该如何解决这个问题?

谢谢。

付费偷看设置
发送
9条回答
wang628962
1楼-- · 2020-09-15 14:39

" this"关键字是指事件,因为它在新闻事件内部。 您应该将该函数放在控制器中...然后按照MVC惯例,可以将其称为:yourController.example ...否则,您需要执行以下操作:

var self = this; //在视图级别...

然后在新闻发布会中……将其称为: self.example ,这样您就可以使用正确的示波器

Tong__Ming
2楼-- · 2020-09-15 14:51

感谢您的回答。

我像这样尝试过,但是它跳过了对话框并直接调用了函数。 我的目标是显示一个对话框,然后单击beginButton调用函数 example 。

Nan4612
3楼-- · 2020-09-15 14:53
 beginButton:新按钮({
 文字:"下载",
 图标:" sap-icon://download",
 按下:this.example
 }); 

尝试这样

N-Moskvin
4楼-- · 2020-09-15 15:03

谢谢您的回答。

您的意思是这样吗?

 onDialogBegin:function(oEvent){
 console.log(" a");
 },


 var dialog = new Dialog({
   标题:"标题",
   类型:"消息",

   内容:[新标签({
                  文字:"参数1",labelFor:" labelforparameter1"}),
 新的TextArea('labelforparameter1',{
 宽度:" 50%",
 高度:" 50%",
 占位符:"填写"})],

   beginButton:新按钮({
 文字:"下载",
 图标:" sap-icon://download",
 按下:'onDialogBegin'//这就是我要在的位置}调用函数
 });
           dialog.open();

 }


 

如果是,很遗憾,它仍然无法正常工作。 现在,我收到错误消息" I.fFunction.call不是函数"。 如果我将其更改为 press:this.onDialogBegin(oEvent); ,我会收到与以前相同的错误消息:: this.onDialogBegin不是函数。

打个大熊猫
5楼-- · 2020-09-15 14:43

只需输入:'onDialogBegin'。 此功能应在控制器中定义为单独的方法。

同时,如果您也想处理对话框,请尝试为Dialog的beforeOpen,beforeClose等事件分配功能。


callcenter油条
6楼-- · 2020-09-15 14:40

尝试一次

您可以将上面的全部代码粘贴到控制器中,然后使用以下代码打开对话框吗?

 this.fnCreatDialog(); 

一周热门 更多>