Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

基本介绍

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

Tip

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

...

使用示例

Code Block
languagego
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))
}

执行后,输出结果为:

Code Block
languagehtml
Hello GoFrame
Hello GoFrame

...






Panel
titleContent Menu

Table of Contents