使用调用函数标记文本绑定且没有返回值

时间:2018-02-19 23:18:06

标签: google-apps-script binding google-app-maker

我有一个修改标签文本的问题,方法是调用一个函数(客户端脚本)来调用一个带有返回值的函数(服务器端)。

console.info(返回值)显示正确的值,但标签文本为空。 即使像这样返回==>返回"测试",它不起作用。

这是我为调试目的而创建的函数:

ClientScript:

function onSuccess(value) {
  console.info("debug : " + value); // <== this works !
}

function TestFunction(value) {
  // Call server side functions
  google.script.run.withSuccessHandler(onSuccess).test("any value");

}

ServerScript:

function test(arg) {
    return "This a return value";
}

标签文字中的绑定:

TestFunction("test")
你知道吗?我做错了什么?

编辑:由Chris询问,这是导出应用程序zip的链接:https://drive.google.com/file/d/1LEcEYtv0guC_ELicE9vFrY8AygJeVqWP/view?usp=sharing

1 个答案:

答案 0 :(得分:2)

问题是您正在尝试直接从服务器脚本获取值。正如您所看到的,控制台日志正在运行,因为您正在 onSuccess 函数上将值传递给客户端。

您需要做的是将小部件传递给 TestFunction onSuccess 函数应该进入测试功能。请考虑以下示例:

<强> ClientScript:

function TestFunction(widget, value) {

  function onSuccess(value) {
    console.info("debug : " + value);
    widget.text = value;
  }

  // Call server side functions
  google.script.run.withSuccessHandler(onSuccess).test(value);

}

<强> ServerScript:

function test(arg) {
    return arg;
}

标签文字中的绑定:

TestFunction(@widget, "This is what I want")

我希望这有帮助!