Handlebars中{{{ body }}}的作用与使用方式咨询
聊聊HBS文件里
{{{ body }}}的作用和用法 它到底是干啥的
{{{ body }}}是Handlebars模板引擎(.hbs文件依赖的模板工具)里的无转义内容占位符,核心作用就是在通用布局模板(比如你提供的main.hbs)中,预留位置插入其他子模板的内容,实现页面框架的复用。
你贴的main.hbs就是典型的布局模板——包含了所有页面共用的HTML骨架(比如<head>配置、页面基础结构),{{{ body }}}就是用来填充每个页面独有的内容的“插槽”。
工作逻辑
- 先把
main.hbs作为所有页面的通用框架,固定好页面的基础结构。 - 当渲染某个具体页面的子模板(比如首页、详情页的内容模板)时,模板引擎会把该子模板的内容,原封不动地替换掉
{{{ body }}}的位置,最终生成完整的HTML页面。 - 这里要区分三个大括号
{{{ }}}和两个大括号{{ }}:{{ }}会自动转义HTML标签(比如把<h1>转换成<h1>,最终显示成文本而非标题){{{ }}}会直接输出原始HTML内容,不会转义,适合插入已经编写好的页面内容片段
它会引入什么内容
举个实际例子:
假设你有一个home.hbs子模板,内容是:
<h1>欢迎来到首页</h1> <p>这是首页的专属内容区域</p>
当以main.hbs为布局渲染home.hbs时,{{{ body }}}的位置就会被替换成上面这段内容,最终生成的完整HTML如下:
<!DOCTYPE html> <html lang="es"> <head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Titulo</title> </head> <body> <h1>欢迎来到首页</h1> <p>这是首页的专属内容区域</p> </body> </html>
简单来说,它引入的就是你当前要展示的具体页面的全部内容,是布局模板和内容模板之间的衔接节点。
内容的提问来源于stack exchange,提问作者Juan Pablo
相关产品推荐
相关产品推荐

