首页 > 后端开发 > Golang > 正文

如何将数据传递到 Go 中包含的模板?

Mary-Kate Olsen
发布: 2024-10-26 13:27:03
原创
289 人浏览过

How to Pass Data to Included Templates in Go?

将数据传递到 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中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板