请原谅我提出一个看起来很奇怪的问题。我不确定如何在一个声明中准确地陈述我的问题。
我的网页中有三个模板,页眉、布局和页脚。
在模板标题中,我有一个类别下拉菜单,并且我的 go 代码中有一段带有子菜单项的字符串。
Categories := []string{"Holiday","IQ","Future"}
并且模板头有以下html代码
<div class="ui dropdown item">
<i class="browser icon"></i>
Categories
<i class="dropdown icon"></i>
<div class="menu">
{{range $i,$e:= .}}
<a class="item"><i class="hashtag icon"></i>{{$e}}</a>
{{end}}
</div>
</div>
所以当我做一个,
t,err :=template.ParseFiles("template/header.html","template/index.html","template/footer.html")
t.ExecuteTemplate(w,"header",Categories)
它给了我一个漂亮的标题,但我需要做
t.ExecuteTemplate(w,"layout",Featured)
为主页。布局模板具有以下结构
some html code
{{template "header"}}
more html code
{{template "footer"}}
显然,一起使用两个执行模板语句会给我两个不同的标题。
如果我从模板布局中删除模板标题,视觉输出是完美的,但是当您查看 html 代码时,菜单栏位于“link rel”语句上方(请记住,我在 {{template 上方有“一些 html 代码” header"}} 在布局模板中),这显然不好。
我应该怎么做才能使用它们各自的结构同时执行两个模板?