将数据传递到 Go 中的渲染模板
在 Go 模板中,包含另一个模板是一个简单的过程,使用 {{ template "include-模板名称" }} 语法。但是,有时需要将附加数据传递到包含的模板。
引入动态参数传递
考虑一个场景,您要将数字传递给模板,“image_row.html”,使用此数字动态构造行。这需要将数字作为附加参数传递给模板调用。
用于传递多个参数的自定义函数
因为没有内置支持将多个参数传递给使用模板,您可以创建自定义函数以将参数合并到单个切片中。向 Funcs 注册此函数并在模板调用中使用它:
<code class="go">func args(vs ...interface{}) []interface{} { return vs } t, err := template.New("t").Funcs(template.FuncMap{"args":args}).Parse...</code>
模板调用中的用法
在主模板中,您可以使用args 函数:
{{ template "image_row" args . 5 }}
访问包含模板中的参数
在“image_row.html”中,您可以使用内置索引函数访问参数:
{{ define "image_row" }} To stuff here {{index . 0}} {{index . 1}} {{ end }}
这种方法允许您将动态数据传递到渲染的模板,从而在模板设计和数据处理方面实现更大的灵活性。
以上是如何将数据传递到 Go 中包含的模板?的详细内容。更多信息请关注PHP中文网其他相关文章!