登录
首页 >  Golang >  Go问答

html 模板中找不到自定义模板函数

来源:stackoverflow

时间:2024-04-12 18:57:33 492浏览 收藏

你在学习Golang相关的知识吗?本文《html 模板中找不到自定义模板函数》,主要介绍的内容就涉及到,如果你想提升自己的开发能力,就不要错过这篇文章,大家要知道编程理论基础和实战操作都是不可或缺的哦!

问题内容

我这样渲染模板:

func rendertemplate(...........) {
    rt := template.must(template.parsefiles(
        fmt.sprintf("%s/%s", templatespath, baselayoutpath),
        fmt.sprintf("%s/%s", templatespath, tplname)))

      err := rt.executetemplate(w, "base", nil)
      //[................]
  }

我想在其中注册一个自定义函数:

func mytest1(string s) string {
  return "hello: " + s
}


func rendertemplate(...........) {
  rt := template.must(template.parsefiles(
              fmt.sprintf("%s/%s", templatespath, baselayoutpath),
              fmt.sprintf("%s/%s", templatespath, tplname))).funcs(template.funcmap{"test1": mytest1})

这不起作用:“test1”未定义”

// html template:


  {{range .items}}

    {{.Field1 | test1}}

为什么不以及如何使其发挥作用?


解决方案


在解析模板之前添加模板函数。

来自html/template docs for Funcs()

funcMap := template.FuncMap{"test1":myTest1}
rt := template.Must(template.New("name").Funcs(funcMap).ParseFiles(
          fmt.Sprintf("%s/%s", templatesPath, baseLayoutPath),
          fmt.Sprintf("%s/%s", templatesPath, tplName)))

今天带大家了解了的相关知识,希望对你有所帮助;关于Golang的技术知识我们会一点点深入介绍,欢迎大家关注golang学习网公众号,一起学习编程~

声明:本文转载于:stackoverflow 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>