Reddit과 같은 웹 포럼 종류를 작성하려고합니다. 답장이있는 최상위 게시물이 있고 답장에 답글이있을 수 있습니다.Go의 HTML 템플리트에서 구조체의 중첩 된 구조체의 임의의 개수를 통한 범위
var board map[string]*Post
과 Post
:
type Post struct {
Title string
Body string
ID string
PostNum int
Replies []*Post
}
내가 중첩 된 Replies
조각을 통해 범위 템플릿을 사용하는 방법 (염두에두고 각 *Post
은을 포함하는
보드는 다음과 같습니다 Replies
등이 포함 된 *Posts
이 포함 된 슬라이스 Replies
)?
내가 지금까지 가지고, 나는 임의의 수를 통해 다양 할 수 있어야합니다
<div id="posts">
{{ .Title }}
{{ .Body }}
<ul>
{{ range $key, $value := .Replies }}
<li class="post">
<div class="postHead">
<div class="postTitle"><b>{{ $value.ID }}</b></div>
</div>
<div class="postBody">{{ $value.PostNum }}</div>
</li>
<ul>
{{ range $key, $value := $value.Replies }}
<li class="post">
<div class="postHead">
<div class="postTitle"><b>{{ $value.ID }}</b></div>
</div>
<div class="postBody">{{ $value.PostNum }}</div>
</li>
{{ end }}
</ul>
{{ end }}
</ul>
</div>
이는 나에게 응답의 두 단계를 통해 범위 (당신이 볼 수 있듯이 사용하는 코드를 복제) 할 수 있습니다 레벨은 Replies
입니다.