使用多个管道参数调用模板

在 Go 模板中,有时将正确的数据传递给正确的模板的方式让我觉得很尴尬。使用管道参数调用模板看起来就像调用只有一个参数的函数。


假设我有一个关于 Gophers 的 Gophers 网站。它有一个主页主模板和一个用于打印 Gophers 列表的实用程序模板。


http://play.golang.org/p/Jivy_WPh16


输出 :


*The great GopherBook*    (logged in as Dewey)


    [Most popular]  

        >> Huey

        >> Dewey

        >> Louie


    [Most active]   

        >> Huey

        >> Louie


    [Most recent]   

        >> Louie

现在我想在子模板中添加一些上下文:在列表中以不同的方式格式化名称“Dewey”,因为它是当前登录用户的名称。但是我不能直接传递名称,因为只有一个可能的“点”参数管道!我能做什么?

  • 显然,我可以将子模板代码复制粘贴到主模板中(我不想这样做,因为它放弃了拥有子模板的所有兴趣)。

  • 或者我可以处理某种带有访问器的全局变量(我也不想)。

  • 或者我可以为每个模板参数列表创建一个新的特定结构类型(不太好)


慕沐林林
浏览 198回答 3
3回答
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Go