带有调用函数且没有 return 值的标签文本绑定
Label text binding with call function and no return value
我在通过调用函数(客户端脚本)修改标签文本时遇到问题,该函数调用具有 return 值的函数(服务器端)。
A console.info(return 值)显示正确的值,但标签文本为空。
即使像这样制作 return ==> return "Test",它也不起作用。
这是我为调试目的而创建的函数:
客户端脚本:
function onSuccess(value) {
console.info("debug : " + value); // <== this works !
}
function TestFunction(value) {
// Call server side functions
google.script.run.withSuccessHandler(onSuccess).test("any value");
}
服务器脚本:
function test(arg) {
return "This a return value";
}
在标签文本中绑定:
TestFunction("test")
你有什么想法吗?我做错了什么?
编辑:正如 Chris 所问,这里是导出应用程序 zip 的 link:https://drive.google.com/file/d/1LEcEYtv0guC_ELicE9vFrY8AygJeVqWP/view?usp=sharing
问题是您试图直接从服务器脚本获取值。如您所见,控制台日志正在运行,因为您在 onSuccess 函数上将值传递给客户端。
您需要做的是将小部件传递给 TestFunction 并且 onSuccess 函数应该进入测试函数。考虑以下示例:
客户端脚本:
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);
}
服务器脚本:
function test(arg) {
return arg;
}
在标签文本中绑定:
TestFunction(@widget, "This is what I want")
希望对您有所帮助!
我在通过调用函数(客户端脚本)修改标签文本时遇到问题,该函数调用具有 return 值的函数(服务器端)。
A console.info(return 值)显示正确的值,但标签文本为空。 即使像这样制作 return ==> return "Test",它也不起作用。
这是我为调试目的而创建的函数:
客户端脚本:
function onSuccess(value) {
console.info("debug : " + value); // <== this works !
}
function TestFunction(value) {
// Call server side functions
google.script.run.withSuccessHandler(onSuccess).test("any value");
}
服务器脚本:
function test(arg) {
return "This a return value";
}
在标签文本中绑定:
TestFunction("test")
你有什么想法吗?我做错了什么?
编辑:正如 Chris 所问,这里是导出应用程序 zip 的 link:https://drive.google.com/file/d/1LEcEYtv0guC_ELicE9vFrY8AygJeVqWP/view?usp=sharing
问题是您试图直接从服务器脚本获取值。如您所见,控制台日志正在运行,因为您在 onSuccess 函数上将值传递给客户端。
您需要做的是将小部件传递给 TestFunction 并且 onSuccess 函数应该进入测试函数。考虑以下示例:
客户端脚本:
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);
}
服务器脚本:
function test(arg) {
return arg;
}
在标签文本中绑定:
TestFunction(@widget, "This is what I want")
希望对您有所帮助!