Go Template 变量检查不符合我的预期
Go Template variable check not behaving as I expected
我有一些嵌套结构传递给我 html template.I 想检查一个切片是否为空并打印 "No Data" 如果它为空。
我正在使用以下模板代码执行此操作,但我从不打印 empty ,它只是不渲染任何 html。我在值周围放置了文本,以查看它是否输出我的文本为空但不呈现我的文本。我认为我可能需要对下面的 $s 进行一些其他测试,例如 $s not nil 或 $s not ""。我试过那些但得到了相同的结果。我注意到,如果我在范围之前打印 {{$dr.Swells}}
,我会得到 []。任何帮助或指导将不胜感激。
{{ range $d := .DailyHtmlData}}
<div class="row"><small><br></br></small></div>
{{range $dr := $d.Forecast}}
<div class="row">
<div class="col col-2 text-left nopadding"><small>{{$dr.Day}}/{{$dr.Month}} {{$dr.Hour}}:00</small></div>
{{range $s := $dr.Swells}}
{{if $s }}
<div class="row"><small>
<div class="col col-auto text-left nopadding">{{$s.Dir}} {{$s.Height}}ft@{{$s.Period}}Sec |</div>
</small></div>
{{else}}
<div class="row"><small>
<div>No Data.</div>
</small></div>
{{end}}
{{end}}
<div class="col text-right nopadding"><small>Wind:{{$dr.Winddir}}:{{$dr.Windspd}}mph Gusts:{{$dr.Windgus}}</small></div>
</div>
{{end}}
{{end}}
当切片为空或 nil 时,使用 {{range pipeline}} T1 {{else}} T0 {{end}}
形式打印一些东西。
{{range $s := $dr.Swells}}
<div class="row"><small>
<div class="col col-auto text-left nopadding">{{$s.Dir}} {{$s.Height}}ft@{{$s.Period}}Sec |</div>
</small></div>
{{else}}
<div class="row"><small>
<div>No Data.</div>
</small></div>
{{end}}
我有一些嵌套结构传递给我 html template.I 想检查一个切片是否为空并打印 "No Data" 如果它为空。
我正在使用以下模板代码执行此操作,但我从不打印 empty ,它只是不渲染任何 html。我在值周围放置了文本,以查看它是否输出我的文本为空但不呈现我的文本。我认为我可能需要对下面的 $s 进行一些其他测试,例如 $s not nil 或 $s not ""。我试过那些但得到了相同的结果。我注意到,如果我在范围之前打印 {{$dr.Swells}}
,我会得到 []。任何帮助或指导将不胜感激。
{{ range $d := .DailyHtmlData}}
<div class="row"><small><br></br></small></div>
{{range $dr := $d.Forecast}}
<div class="row">
<div class="col col-2 text-left nopadding"><small>{{$dr.Day}}/{{$dr.Month}} {{$dr.Hour}}:00</small></div>
{{range $s := $dr.Swells}}
{{if $s }}
<div class="row"><small>
<div class="col col-auto text-left nopadding">{{$s.Dir}} {{$s.Height}}ft@{{$s.Period}}Sec |</div>
</small></div>
{{else}}
<div class="row"><small>
<div>No Data.</div>
</small></div>
{{end}}
{{end}}
<div class="col text-right nopadding"><small>Wind:{{$dr.Winddir}}:{{$dr.Windspd}}mph Gusts:{{$dr.Windgus}}</small></div>
</div>
{{end}}
{{end}}
当切片为空或 nil 时,使用 {{range pipeline}} T1 {{else}} T0 {{end}}
形式打印一些东西。
{{range $s := $dr.Swells}}
<div class="row"><small>
<div class="col col-auto text-left nopadding">{{$s.Dir}} {{$s.Height}}ft@{{$s.Period}}Sec |</div>
</small></div>
{{else}}
<div class="row"><small>
<div>No Data.</div>
</small></div>
{{end}}