例如,文件夹test.tpl
中有A
:
{{define "test"}} hello I am test {{end}}
文件夹index.tpl
中的另一个B
:
{{template "A/test"}} or {{template "test"}}
两者都不起作用。
使用template.ParseFiles
并解析所有模板。每个使用不同的名称。这个目录布局
.
├── A
│ └── index-A.tpl
├── B
│ └── index-B.tpl
└── main.go
含有A/index-A.tpl
A
和B/index-B.tpl
含有
B1
{{template "index-A.tpl"}}
B2
由此代码使用
package main
import (
"os"
"text/template"
)
func main() {
t, err := template.ParseFiles("B/index-B.tpl", "A/index-A.tpl")
if err != nil {
panic(err)
}
err = t.Execute(os.Stdout, nil)
if err != nil {
panic(err)
}
}
将产生此输出:
B1
A
B2
请注意,两个模板都在templateParseFiles
中命名,B/index-B.tpl
在没有路径的情况下按名称引用index-a.tpl
。