1
A
回答
3
我希望这是你(从http://golang.org/pkg/text/template/#Template.Name)
func (t *Template) Name() string
是什么意思“名称返回模板的名称。”
如果您的意思是要从以内的模板中访问模板名称,我只能想到要么将函数添加到template.FuncMap,要么像您建议的那样将名称添加为数据元素。
第一个可能会是这个样子:
var t = template.Must(template.New("page.html").ParseFiles("page.html"))
t.Funcs(template.FuncMap{"name": fmt.Sprint(t.Name())})
,但我不能让它在快速的时间,我搞砸关于使用它。希望这可能有助于您指引正确的方向。
从长远来看,将名称添加为数据元素可能会更容易。
编辑:如果有人想知道如何使用template.FuncMap做的,它基本上是定义函数创建模板后,然后将其添加到FuncMap的问题:
完全跑步例如:
func main() {
const text = "{{.Thingtype}} {{templname}}\n"
type Thing struct {
Thingtype string
}
var thinglist = []*Thing{
&Thing{"Old"},
&Thing{"New"},
&Thing{"Red"},
&Thing{"Blue"},
}
t := template.New("things")
templateName := func() string { return t.Name() }
template.Must(t.Funcs(template.FuncMap{"templname": templateName}).Parse(text))
for _, p := range thinglist {
err := t.Execute(os.Stdout, p)
if err != nil {
fmt.Println("executing template:", err)
}
}
}
输出:
Old things
New things
Red things
Blue things
相关问题
- 1. 获取当前MembershipProvider名称
- 2. 获取模板名称 - Smarty
- 3. 获取当前国家/地区名称
- 4. modx php获取当前页面名称
- 5. 获取当前文件夹名称
- 6. 获取当前字段名称
- 7. iOS获取当前地址名称 - mkplacemark?
- 8. DB获取当前数据库名称
- 9. 获取当前类的名称
- 10. android获取当前位置名称
- 11. 获取当前方法的名称
- 12. 获取当前VBA函数的名称
- 13. 获取模板复选框名称
- 14. 获取类模板的类型名称
- 15. 获取wordpress父模板名称
- 16. 获取当前页面模板的名称,而不诉诸嗅探URL
- 17. 如何从Rails中的布局模板获取当前视图名称?
- 18. Mako模板:如何找到当前模板包含的模板的名称?
- 19. CakePHP:获取模型中的当前控制器名称
- 20. 如何在Haskell获取当前模块的名称
- 21. ZF2获取抽象类中的当前模块名称
- 22. 如何获取当前执行的模板文件名?
- 23. Meteor.js:如何从模板中获取模板的名称?
- 24. 当我有表名称时获取模式名称 - Oracle
- 25. 获取当前前台应用程序的名称
- 26. 在提交模板中包含当前分支名称
- 27. 获取当前用户名
- 28. 获取当前列名
- 29. 获取当前用户名
- 30. Asp.NET获取当前域名
谢谢。是的,这就是我的意思。是的,我看到了文档中的Name()函数,但是想知道是否可以访问而不诉诸FuncMaps /传递它。我现在将它作为数据元素传递,再次感谢! – rebnoob 2013-05-14 15:32:55
嗨,我已经更新了我的答案,如何使用FuncMap的完整运行示例。 我对你的问题很感兴趣,_really_想要解决它:-) – Intermernet 2013-05-15 14:21:56
很酷,谢谢你的队友! – rebnoob 2013-05-16 20:52:49