Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/google-apps-script/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Google apps script 在库中包装UiApp函数_Google Apps Script - Fatal编程技术网

Google apps script 在库中包装UiApp函数

Google apps script 在库中包装UiApp函数,google-apps-script,Google Apps Script,我正在使用某种包装函数向UiApp添加小部件,如下面的示例所示 function newButton(text, handler, callBack) { var app = UiApp.getActiveApplication(); return app.createButton(text).addClickHandler(app.createServerClickHandler(handler).addCallbackElement(callBack)); } 当在如下相同的脚本

我正在使用某种包装函数向UiApp添加小部件,如下面的示例所示

function newButton(text, handler, callBack) {
  var app = UiApp.getActiveApplication();
  return app.createButton(text).addClickHandler(app.createServerClickHandler(handler).addCallbackElement(callBack));
}
  • 当在如下相同的脚本中使用时,它可以正常工作

    添加(newButton(“提交”、“myHandler”面板))

  • 但是当在库(例如myLib)中包含newButton函数并将其称为myLib.newButton时,我会得到一个错误: “遇到错误:未知宏myLib.myHandler”

    panel.add(myLib.newButton(“Submit”,“myHandler”,panel))

在将myHandler保留在当前脚本(而不是myLib)中的同时,有没有办法避免这个问题? 谢谢,福斯托是的,它可以。 在当前脚本中(其中导入了对库的引用) 创造

由于处理程序(字符串)不断传递名称“myHandler”。在库脚本中创建的按钮将调用上述函数

应用程序脚本似乎正在使用此命名空间结构来避免名称冲突


你应该记住,这可能是谷歌故意不记录的原因。也许现在的结构将来会改变。或者我只是多疑;-)

谢谢你这么好的主意,但是当保存脚本时,我得到了以下错误:“很抱歉,发生了服务器错误。请稍等,然后再试一次。”我的错误。试试myLib.myHandler=function(e){}本质上是相同的,但却是编写函数的另一种方式。太棒了,它现在可以工作了,我知道它很简单,但通常简单是最难的| |非常感谢您宝贵的支持!!
function myLib.myHandler(){
}