根据对象可用性自定义模板内容
在模板中,您的目标是显示默认元标记,除非设置了特定属性,在这种情况下应该显示不同的文本。虽然使用匿名结构体为 90% 的处理程序设置属性值是可行的,但它引入了不必要的复杂性。
为了实现您想要的功能,您可以使用 Go 模板中内置的 not 和empty 函数。操作方法如下:
{{if not .}} <!-- Output for nil or empty values, including false, 0, and any array, slice, map, or string of length zero --> {{else if eq .MetaValue "some-x"}} <!-- Output for "some-x" property value --> {{else}} <!-- Output for non-empty values other than "some-x" --> {{end}}
此代码将首先检查 .MetaValue 是否为零或为空。如果是,则将执行第一部分。如果 MetaValue 不为零或为空,第二部分将检查它是否等于“some-x”。如果是,则将执行第二部分。否则,将执行第三部分。
使用这种方法,您可以避免向当前传递 nil 的处理程序添加样板代码,并且仍然根据属性的存在或值动态控制模板中显示的内容。
以上是Go中如何根据对象可用性动态定制模板内容?的详细内容。更多信息请关注PHP中文网其他相关文章!