将数据传递到 Go 中的渲染模板
在 Go 模板中,包含另一个模板是一个简单的过程,使用 {{ template "include-模板名称" }} 语法。然而,有时需要将附加数据传递到包含的模板。
动态参数传递简介
考虑一个场景,您要将数字传递到模板,“image_row.html”,使用此数字动态构造行。这需要将数字作为附加参数传递给模板调用。
用于传递多个参数的自定义函数
因为没有内置支持将多个参数传递给模板中,您可以创建自定义函数以将参数合并到单个切片中。向 Funcs 注册此函数并在模板调用中使用它:
func args(vs ...interface{}) []interface{} { return vs }
t, err := template.New("t").Funcs(template.FuncMap{"args":args}).Parse...
模板调用中的用法
在主模板中,您可以使用 args 函数传递参数:
{{ template "image_row" args . 5 }}
访问包含模板中的参数
在“image_row.html”中,您可以使用内置索引函数访问参数:
{{ define "image_row" }} To stuff here {{index . 0}} {{index . 1}} {{ end }}
此方法允许您将动态数据传递到呈现的模板,从而在模板设计和数据处理方面实现更大的灵活性。
免责声明: 提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发到邮箱:[email protected] 我们会第一时间内为您处理。
Copyright© 2022 湘ICP备2022001581号-3