我有一个 UiApp,它创建了一些将数据写入特定电子表格的表单元素。现在我想将 UiApp 小部件加载到 htmlService 模板中,但我不知道该怎么做。
我的 doGet 函数加载基本模板,doGetApp 构建 UiApp:
function doGet() {
return HtmlService.createTemplateFromFile('base_template').evaluate();
}
function doGetApp() {
// creates input forms for a spreadsheet (the following is just an example
var app = UiApp.createApplication();
var tabPanel = app.createDecoratedTabPanel();
var flowPanel1 = app.createFlowPanel();
var flowPanel2 = app.createFlowPanel();
tabPanel.add(flowPanel1, "Create New Projects");
tabPanel.add(flowPanel2, "Edit Projects");
app.add(tabPanel);
// return app; // <<<< original doGet function returned the app
// testing different ways of returning the UiApp
return HtmlService.createHtmlOutput(app); // this displays the text "HtmlOutput"
}
我的 base_html 模板现在非常简单:
<html >
<?!= getCSS("css_js"); ?>
<body>
<h1>Template Test</h1>
<?!= doGetApp(); ?>
</body>
</html>
我对此尝试了一些变体,但结果通常是相同的:显示描述对象的文本输出,而不是显示 UiApp。(getCSS 函数工作正常)
目标是能够轻松加载我自己的一些 css/js 以及 UiApp,以便轻松地设置表单/结果内容的样式。我对此很陌生,所以我完全有可能以错误的方式处理这个问题。感谢任何指针。谢谢!
-格雷格