Как показать переменную в шаблоне Golang внутри диапазона - PullRequest
0 голосов
/ 01 января 2019

У меня есть код на сервере:

...
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?

1 Ответ

0 голосов
/ 02 января 2019

Можете показать, что это за сообщение об ошибке?Я делаю вывод, что ваш .errMessage находится вне области вашего синтаксиса {{ range .files }}.

Итак, чтобы решить эту проблему, вы просто объявите свой .errMessage поверх синтаксиса {{ range .files }}.

Хотя нет необходимости объявлять его сверху, главный ключ здесь заключается в том, что вы должны присвоить .errMessage другой переменной внутри вашего шаблона.

Это будет выглядеть примерно так (на основе вашего примера):

...
{{ $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 }}
...

Надеюсь, это поможет!Ура!

...