gpt4 book ai didi

templates - 在 go html 模板中创建循环的最佳方法是什么?

转载 作者:数据小太阳 更新时间:2023-10-29 03:07:21 29 4
gpt4 key购买 nike

我正在尝试通过 html/template Go 包创建一个用于显示帖子的 html 模板。我还想在我的页面上进行分页,每页显示 5 个帖子。

因此,我从我的帖子存储库中获取帖子计数,将其除以每页帖子值并四舍五入 (ceil)。这是当前可用帖子的总页数。

我将总页数传递到我的 html 模板。现在,在我的 html 模板中,我需要显示页面按钮从 1 到总数

text/html 包中有一个关于如何使用管道的很棒的文档,但我没有找到任何创建简单循环的示例。

我找到了解决方案,但我不确定它是否合适。我不仅可以向模板传递总页数,还可以传递一组可用页面,因此在我的模板中我可以执行类似以下操作:

{{range .pages}}
<div class="page"><a href="/posts/{{.}}">{{.}}</a></div>
{{end}}

但也许有比传递页面数组更好的方法来做到这一点?我也知道将自定义函数传递给模板的可能性。能不能解决?

最佳答案

规则是模板必须包含尽可能少的逻辑(这就是为什么 native 函数和控件被限制在模板包中的原因)。

您应该通过将数据放入专用结构(将传递给模板)来将数据准备到 Controller 中。然后,您可以按预期使用 range 函数将此结构(由变量和数组组成)显示到模板中。

关于templates - 在 go html 模板中创建循环的最佳方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26052518/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com