一尘不染

如果对象为零,则在模板中显示默认内容,否则根据set属性显示

go

在我的模板中,我想包含一些默认meta标签(90%的时间)。但是,设置了特定属性后,我想显示另一组文本。

我知道我可以设置匿名struct并使用"default"或设置属性"some-x"。但是,这意味着我需要向90%的当前通过的处理程序中添加一个匿名结构nil

有办法做类似的事情吗

{{if eq . nil}} 
   // default meta tag
{{else if eq .MetaValue "some-x"}} 
   //other
{{end}}

如果我尝试上面的代码之类的东西,它会编译,但不会执行我想要的操作。赞赏有关如何正确处理它的建议,而无需增加很多样板。

谢谢!


阅读 229

收藏
2020-07-02

共1个答案

一尘不染

{{if not .}}
   output when . is nil or otherwise empty including
     false, 0, and any array, slice, map, or string of length zero
{{else if eq .MetaValue "some-x"}}
       // some-x case
{{else}} 
       // other case
{{end}}
2020-07-02