{{end}}`
这里,.Files 指的是一个文件切片,但我们想要访问封闭的 scriptFiles 结构的路径。使用 $.Path 可以让我们做到这一点。
使用自定义变量(传统方法)
另一种方法涉及创建自定义变量以传递到范围范围,如本模板所示:
const page = `{{$p := .Path}}{{range .Files}}{{end}}`
通过将 $p 设置为范围管道之前的 .Path,我们可以访问管道内的路径。
注意: 推荐使用 $ 变量方法,因为它是当前 Go 版本中更简洁、更惯用的方法。
","image":"http://www.luping.net/uploads/20241110/17312284916730734b51bb5.jpg","datePublished":"2024-11-10T18:28:28+08:00","dateModified":"2024-11-10T18:28:28+08:00","author":{"@type":"Person","name":"luping.net","url":"https://www.luping.net/articlelist/0_1.html"}}在模板操作中访问范围内的父管道
在 Go 模板中,通常使用范围管道来迭代切片或映射。然而,当尝试访问管道直接范围之外的数据时,经常会出现问题。本文探讨如何实现这一点。
使用 $ 变量(推荐)
文本/模板文档指定当执行开始时,$ 变量引用数据参数传递给执行。这意味着我们可以使用 $.variable.
访问外部范围数据,例如,考虑这个模板:
const page = `{{range .Files}}{{end}}`
这里,.Files 指的是一个文件切片,但我们想要访问封闭的 scriptFiles 结构的路径。使用 $.Path 可以让我们做到这一点。
使用自定义变量(传统方法)
另一种方法涉及创建自定义变量以传递到范围范围,如本模板所示:
const page = `{{$p := .Path}}{{range .Files}}{{end}}`
通过将 $p 设置为范围管道之前的 .Path,我们可以访问管道内的路径。
注意: 推荐使用 $ 变量方法,因为它是当前 Go 版本中更简洁、更惯用的方法。
免责声明: 提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发到邮箱:[email protected] 我们会第一时间内为您处理。
Copyright© 2022 湘ICP备2022001581号-3