为了账号安全,请及时绑定邮箱和手机立即绑定

GO html/template:测试两个点变量的相等性

GO html/template:测试两个点变量的相等性

Go
呼啦一阵风 2022-01-04 14:04:42
我正在发送一个 html/模板这个模型:type MapModel struct {Networks      []*NetworkMetaWaveKey       string}Networks 字段由另一种类型 NetworkMeta 定义:type NetworkMeta struct {NetworkMetaKey string}我使用 Networks 数组来生成一个 html 选择对象:            <select name="waveKey" id="waveKey">    {{range .Networks}}            <option value="{{ .NetworkMetaKey}}" {{if eq .NetworkMetaKey .WaveKey }} selected="selected" {{end}}>            {{ .NetworkMetaKey }}            </option>    {{end}}除了“if eq”相等测试之外,这里的一切都有效。该测试返回错误:“WaveKey 不是结构类型 *models.NetworkMeta 的字段。”据我了解 html/template eq 运算符,比较将一个值与另一个值(或一组值)进行比较,一个值与其他值用空格隔开。但是,在这种情况下,错误似乎表明对于字段,编译器忽略了空格。有什么办法可以使这种平等发挥作用吗?我需要编写自定义函数吗?
查看完整描述

1 回答

?
撒科打诨

TA贡献1934条经验 获得超2个赞

dot 遍历网络切片,因此它的类型为 *NetworkMeta。NetworkMeta 没有任何 WaveKey 字段。

自定义 func 可能是您想要的,因为您正在尝试访问来自不同范围的值。


查看完整回答
反对 回复 2022-01-04
  • 1 回答
  • 0 关注
  • 249 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信