Golang 多模板缓存

是否可以在golang中呈现多个具有相同名称的html模板。原因是,我想制作一个布局并将其重用于多个视图。例如:


{{define "MainLayout"}}

<html>


  <head>

    <title>{{.Title}}</title>

  </head>


  <body>


    <div>{{template "Content" .}}</div>


  </body>


</html>

{{end}}

内容可以是不同的模板,都由 {{define "Content"}} 定义


慕码人8056858
浏览 185回答 2
2回答

慕容3067478

你是如何解析模板的?同一个模板树中不能有两个同名的模板。但是,您可以创建一个自定义解析函数,该函数只会将一个名为“内容”的模板添加到您的模板树中。示例:https&nbsp;:&nbsp;//play.golang.org/p/35X3i_jPzS

尚方宝剑之说

我相信 elithrar 有你正在寻找的东西,但不幸的是它目前不受支持。处理此问题的典型方法是在自己的模板中定义页眉和页脚,然后执行与您的方法相反的方法。您可以将提供给模板解析器的结构传递到这些模板中以呈现您的页面。{{define "header"}}<html>...{{end}}{{define "footer"}}...</html>{{end}}{{define "Content"}}{{template "header" .}}HTML{{template "footer" .}}{{end}}
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Go