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

HTML 模板中未定义的函数

HTML 模板中未定义的函数

Go
紫衣仙女 2023-07-04 17:30:09
我无法使用以下语法/步骤将自定义函数传递给 HTML 模板:t, err := template.ParseFiles("name.tpl")if err != nil {    return}err = t.Funcs(template.FuncMap{"add": add}).Execute(w, nil)if err != nil {    return}.........func add(a int8, b int8) int8 {    return a + b}所需的功能是add,编译期间没有错误,但在尝试渲染 HTML 模板时出现错误function "add" not defined。我缺少什么?PS请不要提供其他解析模板的方法,诸如此类template.New...。我希望使用这个语法。
查看完整描述

1 回答

?
慕丝7291255

TA贡献1859条经验 获得超6个赞

使用这个函数:


func parseFiles(funcs template.FuncMap, filenames ...string) (*template.Template, error) {

    return template.New(filepath.Base(filenames[0])).Funcs(funcs).ParseFiles(filenames...)

}

像这样称呼它:


t, err := parseFiles(template.FuncMap{"add": add}, "name.tpl")

if err != nil {

    return

}

err = t.Execute(w, nil)

在 Go Playground 上运行它。


查看完整回答
反对 回复 2023-07-04
  • 1 回答
  • 0 关注
  • 111 浏览
慕课专栏
更多

添加回答

举报

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