基本介绍

开发者可以自定义模板函数,全局绑定模板函数到指定的视图对象中。

也可以将自定义的对象赋值给模板,随后通过对象来调用其封装的方法。

使用示例

  1. package main
  2. import (
  3. "context"
  4. "fmt"
  5. "github.com/gogf/gf/v2/frame/g"
  6. )
  7. // 用于测试的带参数的内置函数
  8. func funcHello(name string) string {
  9. return fmt.Sprintf(`Hello %s`, name)
  10. }
  11. func main() {
  12. // 绑定全局的模板函数
  13. g.View().BindFunc("hello", funcHello)
  14. // 普通方式传参
  15. parsed1, err := g.View().ParseContent(context.TODO(), `{{hello "GoFrame"}}`, nil)
  16. if err != nil {
  17. panic(err)
  18. }
  19. fmt.Println(string(parsed1))
  20. // 通过管道传参
  21. parsed2, err := g.View().ParseContent(context.TODO(), `{{"GoFrame" | hello}}`, nil)
  22. if err != nil {
  23. panic(err)
  24. }
  25. fmt.Println(string(parsed2))
  26. }

执行后,输出结果为:

  1. Hello GoFrame
  2. Hello GoFrame