检查当前页面的Go模板,用于导航栏。

huangapple go评论106阅读模式
英文:

Go template checking for current page for nav bar

问题

我正在尝试在golang模板中设置一个li元素,根据当前页面来设置为活动状态。根据我所了解,你只能使用{{if .scoreheader}}来检查变量的存在性。是否有其他方法可以解决这个问题?

英文:

I'm trying to set a li in a golang template to active based on the current page. From what I've read you can only do {{if .scoreheader}} to check existence of a variable. Is there another way around this?

  1. <div class="col-md-3">
  2. <ul class="nav nav-pills nav-stacked">
  3. {{range $id, $name := .test}}
  4. {{if $name == .scoreheader}}
  5. <li class="active">
  6. {{else}}
  7. <li>
  8. {{end}}
  9. <li><a href="/app/index/?company={{$id}}">{{$name}}</a></li>
  10. {{end}}
  11. </ul>
  12. </div>

答案1

得分: 1

你可以使用eq函数,如text/template中所解释的那样:

还有一组作为函数定义的二进制比较运算符:

eq 返回 arg1 == arg2 的布尔值

因此,你的if语句应该是:

  1. {{if eq $name $.scoreheader}}
英文:

You can use the eq function as explained in text/template:

> There is also a set of binary comparison operators defined as
> functions:
>
> eq Returns the boolean truth of arg1 == arg2

So your if-statement would be:

  1. {{if eq $name $.scoreheader}}

huangapple
  • 本文由 发表于 2014年11月10日 15:49:32
  • 转载请务必保留本文链接:https://go.coder-hub.com/26839056.html
匿名

发表评论

匿名网友

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

确定