阅读(942) (13)

GoFrame 模板函数-自定义函数

2022-04-01 11:31:52 更新

基本介绍

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

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

使用示例

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