为了账号安全,请及时绑定邮箱和手机立即绑定

Golang 多模板缓存

Golang 多模板缓存

Go
慕码人8056858 2021-12-07 10:45:25
是否可以在golang中呈现多个具有相同名称的html模板。原因是,我想制作一个布局并将其重用于多个视图。例如:{{define "MainLayout"}}<html>  <head>    <title>{{.Title}}</title>  </head>  <body>    <div>{{template "Content" .}}</div>  </body></html>{{end}}内容可以是不同的模板,都由 {{define "Content"}} 定义
查看完整描述

2 回答

?
慕容3067478

TA贡献1773条经验 获得超3个赞

你是如何解析模板的?同一个模板树中不能有两个同名的模板。但是,您可以创建一个自定义解析函数,该函数只会将一个名为“内容”的模板添加到您的模板树中。

示例:https : //play.golang.org/p/35X3i_jPzS


查看完整回答
反对 回复 2021-12-07
?
尚方宝剑之说

TA贡献1788条经验 获得超4个赞

我相信 elithrar 有你正在寻找的东西,但不幸的是它目前不受支持。处理此问题的典型方法是在自己的模板中定义页眉和页脚,然后执行与您的方法相反的方法。您可以将提供给模板解析器的结构传递到这些模板中以呈现您的页面。


{{define "header"}}

<html>...

{{end}}


{{define "footer"}}

...</html>

{{end}}


{{define "Content"}}

{{template "header" .}}

HTML

{{template "footer" .}}

{{end}}


查看完整回答
反对 回复 2021-12-07
  • 2 回答
  • 0 关注
  • 184 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信