跳到主要内容
版本:2.4.x

基本介绍

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

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

使用示例

package main

import (
"context"
"fmt"
"github.com/gogf/gf/v2/frame/g"
)

// 用于测试的带参数的内置函数
func funcHello(name string) string {
return fmt.Sprintf(`Hello %s`, name)
}

func main() {
// 绑定全局的模板函数
g.View().BindFunc("hello", funcHello)

// 普通方式传参
parsed1, err := g.View().ParseContent(context.TODO(), `{{hello "GoFrame"}}`, nil)
if err != nil {
panic(err)
}
fmt.Println(string(parsed1))

// 通过管道传参
parsed2, err := g.View().ParseContent(context.TODO(), `{{"GoFrame" | hello}}`, nil)
if err != nil {
panic(err)
}
fmt.Println(string(parsed2))
}

执行后,输出结果为:

Hello GoFrame
Hello GoFrame