7

Go で html/templates を使用すると、次のことができます。

<table class="table table-striped table-hover" id="todolist">
    {{$i:=1}}
    {{range .}}         
    <tr>
        <td><a href="id/{{.Id}}">{{$i}}</a></td>
        <td>{{.Title}}</td>
        <td>{{.Description}}</td>
        </tr>
        {{$i++}}

    {{end}}
</table>

$i 変数を追加するたびに、アプリがクラッシュします。

4

2 に答える 2

15

私のhtmlテンプレートで:

<table class="table table-striped table-hover" id="todolist">
        {{range $index, $results := .}}         
        <tr>
            <td>{{add $index 1}}</td>
            <td>{{.Title}}</td>
            <td>{{.Description}}</td>
            </tr>
        {{end}}
    </table>

go コードで、FuncMap に渡す関数を書きました。

func add(x, y int) int {
    return x + y
}

私のハンドラーで:

type ToDo struct {
    Id          int
    Title       string
    Description string
}

func IndexHandler(writer http.ResponseWriter, request *http.Request) {
    results := []ToDo{ToDo{5323, "foo", "bar"}, ToDo{632, "foo", "bar"}}
    funcs := template.FuncMap{"add": add} 
  temp := template.Must(template.New("index.html").Funcs(funcs).ParseFiles(templateDir + "/index.html"))
    temp.Execute(writer, results)
}
于 2012-12-31T20:31:45.377 に答える
9

Variablesのセクションをチェックしてくださいtext/template

http://golang.org/pkg/text/template/

range $index, $element := pipeline
于 2012-12-31T14:56:53.673 に答える