登录
首页 >  Golang >  Go问答

当图像是对象数组的元素时,如何显示存储为页面资源的图像?

来源:stackoverflow

时间:2024-04-11 21:39:36 117浏览 收藏

对于一个Golang开发者来说,牢固扎实的基础是十分重要的,golang学习网就来带大家一点点的掌握基础知识点。今天本篇文章带大家了解《当图像是对象数组的元素时,如何显示存储为页面资源的图像?》,主要介绍了,希望对大家的知识积累有所帮助,快点收藏起来吧,否则需要时就找不到了!

问题内容

我的头版中的图像是这样存储的:

images:
  - image: image_1.jpg
    caption: "image 1 caption"
  - image: image_2.jpg
    caption: "image 2 caption"

我只想显示第一个,所以我使用以下内容:

{{ $image := .resources.getmatch (printf "**%s" (index .params.images 0).image) }}

奇怪的是,只有当我在本地 hugo 服务器运行时添加 .image 部分时,这才有效。一旦我停止并再次启动,该网站就无法重建并出现以下错误:

... execute of template failed: template: partials/content/figure.html:7:70: executing "partials/content/figure.html" at <0>: can't evaluate field image in type string

我只想能够访问 images[0].image。我怎样才能做到这一点?


正确答案


事实证明,我还有一些其他内容类型,其中前面的 images 仍然是简单的数组,而不是对象数组。这导致了我的构建错误。为了解决这个问题,我使用了以下建议,此处

{{ $image := "" }}
{{ if reflect.IsMap (index .Params.images 0) }}
  {{ $image = .Resources.GetMatch (printf "**%s" (index .Params.images 0).image) }}
{{ else }}
  {{ $image = .Resources.GetMatch (printf "**%s" (index .Params.images 0)) }}
{{ end }}

到这里,我们也就讲完了《当图像是对象数组的元素时,如何显示存储为页面资源的图像?》的内容了。个人认为,基础知识的学习和巩固,是为了更好的将其运用到项目中,欢迎关注golang学习网公众号,带你了解更多关于的知识点!

声明:本文转载于:stackoverflow 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>