猿问

如何在范围内的Golang模板中显示变量

我在服务器上有一些代码:


c.HTML(http.StatusOK, "videos.html", gin.H{

    "files": files, //slice

    "errMessage": errMessage,

})

我在客户端有一些代码:


{{ range .files }}

<tr>

  <td>{{.}}</td>

  <td><a href="/download?filename={{.}}" style="color:blue;">Download</a></td>

  <td><a href="/delete?filename={{.}}" style="color:red;">Delete</a></td>

  <td><button id="{{.}}">Посмотреть</button></td>

  {{ if .errMessage }} <td style="color:red;">Processing...</td>

  {{ else }} <td>Done</td> {{ end }}

</tr>

{{ end }}

如何处理.errMessage?


元芳怎么了
浏览 105回答 1
1回答

子衿沉夜

你能显示错误信息是什么吗?我推断你的语法.errMessage超出了范围{{ range .files }}。.errMessage因此,要解决此问题,您只需在语法之上声明即可{{ range .files }}。虽然没有必要在顶部声明它,但这里的主要关键是您应该将您分配.errMessage给模板内的另一个变量。它看起来像这样(根据您的示例):...{{ $errMessage := .errMessage }}{{ range .files }}<tr>&nbsp; <td>{{.}}</td>&nbsp; <td><a href="/download?filename={{.}}" style="color:blue;">Download</a></td>&nbsp; <td><a href="/delete?filename={{.}}" style="color:red;">Delete</a></td>&nbsp; <td><button id="{{.}}">Посмотреть</button></td>&nbsp; {{ if $errMessage }} <td style="color:red;">Processing...</td>&nbsp; {{ else }} <td>Done</td> {{ end }}</tr>{{ end }}...希望有帮助!干杯!
随时随地看视频慕课网APP

相关分类

Go
我要回答