相关疑难解决方法(0)

调用具有多个管道参数的模板

在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
Run Code Online (Sandbox Code Playgroud)

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

  • 显然我可以将子模板代码复制粘贴到主模板中(我不想这样做,因为它降低了对子模板的所有兴趣).
  • 或者我可以使用访问器来处理某些全局变量(我也不想).
  • 或者我可以为每个模板参数列表创建一个新的特定结构类型(不是很好).

templates go go-templates

28
推荐指数
2
解决办法
2万
查看次数

标签 统计

go ×1

go-templates ×1

templates ×1