Google Apps Script模板包含页数据绑定解析失败问题
问题原因及解决方法
核心问题
你遇到的问题是子模板(menu.html)无法继承主模板的data变量,直接写<?!= data ?>时,模板引擎没有识别到该变量,所以原样输出了代码文本。
解决步骤
在Code.gs中添加带参数的include函数
这个函数负责加载子模板并把主模板的data传递进去:function include(filename, data) { var template = HtmlService.createTemplateFromFile(filename); template.data = data; return template.evaluate().getContent(); }修改主模板myfile.html的include调用
调用include时把主模板的data参数传进去:</head> <?!= include('menu', data) ?>在menu.html中使用变量
现在就能正常渲染data内容了:<?!= data ?>
原理说明
默认的模板加载不会自动传递变量,必须通过自定义的include函数,把主模板的data赋值给子模板的同名变量,子模板才能识别并解析<?!= data ?>语法,最终渲染出实际内容。
内容的提问来源于stack exchange,提问作者user21408822
相关产品推荐
相关产品推荐

