このとき {{}} 構文によって Go 内の変数を HTML 内に展開することができます。
array や map や slice の中身を順次取り出しながら表示する場合は
{{range}}{{end}} 構文を使って書くことができます。
<ul>
{{range .}}
<li>{{.Name}}さんこんにちは</li>
{{end}}
</ul>
ただ中身を表示するだけならこれでよいのですが、
map を使っている場合、どうしても key を埋め込みたい時があるでしょう。
(クリックした要素の key をサーバへ返したいときなど)
この場合は以下のように for each 文っぽく key とvalue を変数に入れることができます。
<ul id="gamelist">
{{range $key, $val := .}}
<li class="game" key="{{$key}}">
<div class="title">{{$val.Name}}</div>
<div class="description">{{$val.Description}}</div>
<div class="thumbnail"><img width="200" src="/client/img/living.png"></div>
<a href="/editor?game_key={{$key}}"><button class="edit">作る</button></a>
<button class="copy">コピー</button>
<button class="delete">消す</button>
</li>
{{end}}
</ul>
ちなみに $val は無くても同じように動きます。
地味に 100 本目の投稿です。
0 件のコメント:
コメントを投稿