我正在发送一个 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 可能是您想要的,因为您正在尝试访问来自不同范围的值。
- 1 回答
- 0 关注
- 249 浏览
添加回答
举报
0/150
提交
取消