package main
import (
"context"
"github.com/gogf/gf/v2/frame/g"
)
type T struct {
Name string
}
func (t *T) Hello(name string) string {
return "Hello " + name
}
func (t *T) Test() string {
return "This is test"
}
func main() {
t := &T{"John"}
v := g.View()
content := `{{.t.Hello "there"}}, my name's {{.t.Name}}. {{.t.Test}}.`
if r, err := v.ParseContent(context.TODO(), content, g.Map{"t": t}); err != nil {
g.Dump(err)
} else {
g.Dump(r)
}
}
7 Comments
kim
调函数不传参可以不写()吗?
郭强
这种基础问题自己研究下啊。
kim
对象的属性是时间类型的话,可以模板去直接设置显示格式吗
海亮
{{ .Created.Format "Jan 02, 2006" }} 使用标准时间格式化
或可以通过自定义模版函数实现
galaxy
这个模板引擎不支持key带-:等字符串的key关键字,这个要如何解决
郭强
这个底层使用的是标准库的模板库,你可以研究下。
aadd
请问一下,在模板里如获取当前请求的path啊,我要根据不同的参数显示不同的模板样式,
我在用一个脚手架,我发现不支持,goframe 好像没有办法直接在页面上输出当前请求的的path
比如请求 http://www.xx.com/path/show 则页面显示path/show
http://www.xx.com/path/aaa 则页面显示path/aaa
似乎不能在模板里面很灵活的获取 这些全局变量 ,需要在每个页的controller下增加这个变量,然后model.view到 模板里输出