带分隔符使用模板使用template.New("...").Delims("[[", "]]").Parse()
时,但是工作得很好,我无法弄清楚如何获得相同的结果与template.ParseFiles()
Golang HTML /模板:自定义ParseFiles Delims
tmpl, err := template.ParseFiles("base.tmpl", "homepage/inner.tmpl")
if err != nil { panic(err) }
tmpl.Delims("[[", "]]")
p := new(Page)
err = tmpl.Execute(os.Stdout, p)
if err != nil { panic(err) }
我没有错误,但分隔符不会更改。
tmpl, err := template.ParseFiles("base.tmpl", "homepage/inner.tmpl")
t := tmpl.Lookup("base.tmpl").Delims("[[", "]]")
p := new(Page)
err = t.Execute(os.Stdout, p)
if err != nil { panic(err) }
这导致了相同的结果。
如果这是相关的,我的需要是在我的网站的特定页面中嵌入一个小角度的应用程序。
另外,我有一个普通的HTML结构,我与ParseFiles()特定的页面模板结合了基本模板,导致这种布局:
/templates/base.tmpl
/templates/homepage/inner.tmpl
/templates/otherpage/inner.tmpl
这是可能的呢?如果是这样,我做错了什么?
的初期,API变得更有意义它看起来应该能够执行'template.New(...).Deims(...).ParseFiles(。 ..)'从[文档](http://golang.org/pkg/html/template/#Template.ParseFiles)。这是索引中的第二个ParseFiles,不是第一个。 – twotwotwo 2014-11-24 22:20:53
确实!尽管我已经研究了很长一段时间,但在发布问题后我想了一会儿。我发现很难将这个包裹在头上:)感谢您的帮助! – 2014-11-24 22:32:58
对于未来的读者,我缺乏的另一个细节是我需要始终使用template.New(“base.tmpl”)为任何页面命名模板“base.tmpl”。我想这是因为它是在解析模板集中使用的根模板的名称。 – 2014-11-24 22:45:28