我一直在將一個舊的 javascript 專案遷移到 GAS,并且在嘗試從客戶端 Web 應用程式運行命名空間函式時遇到了障礙。快速代碼示例:
var foo = function() {
function doBar() {
//do stuff
}
function doBang() {
//do stuff
}
return {
bar:doBar,
bang:doBang
}
}();
雖然這很容易在服務器端通過 呼叫foo.bar(),但我在嘗試從我的網路應用程式中與這些功能交談時遇到了困難。我希望做這樣的事情:
<script>
google.script.run.withSuccessHandler(callback).foo.bar();
function callback() {
//do stuff
}
</script>
但這似乎不起作用。是否有我遺漏的東西,或者沒有某種形式的處理程式函式(不包含在命名空間中,它傳遞到我的命名空間)的另一種方法來讓它作業?
由于這是一個專案遷移,我有一組結構非常好的但龐大的命名空間;這將需要一個非常長且強大的處理函式,所以我想盡可能避免這樣做。
uj5u.com熱心網友回復:
你需要那個處理函式。如果您添加點,Apps 腳本不理解您正在呼叫服務器端函式,因此您會收到以下錯誤:
TypeError:無法讀取未定義的屬性(讀取“條形圖”)
功能要求:
如果您希望看到此功能的實作,我建議您使用此問題跟蹤器模板請求此功能。
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/457234.html
標籤:javascript 谷歌应用脚本 网络应用 javascript 命名空间
