英文:
Use Go .Variable inside range block in THTML file
问题
我有一个.thtml文件:
<!-- language: lang-xml -->
...
<div>
<p>{{.Something}}</p> <!-- 这里可以工作! -->
{{range ...}}
<p>{{.Something}}</p> <!-- 这里无法工作! -->
{{end}}
</div>
...
如果我在.thtml文件中使用.Something
的值,它可以正常工作,但如果在{{range ...}}
块内以相同的方式使用它,则无法工作。
我该如何使用它?
英文:
I have a .thtml file:
<!-- language: lang-xml -->
...
<div>
<p>{{.Something}}</p> <!-- It works here! -->
{{range ...}}
<p>{{.Something}}</p> <!-- It DOESN't work here! -->
{{end}}
</div>
...
If I use the value of .Something
inside the .thtml file it works fine, but it doesn't work if it is used in the same way inside a {{range ...}}
block.
How can I use it?
答案1
得分: 1
光标通过{{range}}进行修改。将光标分配给一个变量,并在range内部使用该变量。
...
<div>
<p>{{.Something}}</p>
{{$x := .}} <!-- 将光标分配给变量$x -->
{{range ...}}
<p>{{$x.Something}}</p>
{{end}}
</div>
...
如果此片段中的起始光标是模板的起始值,则使用$
变量:
...
<div>
<p>{{$.Something}}</p> <!-- 变量$是模板的起始值 -->
{{range ...}}
<p>{{$.Something}}</p>
{{end}}
</div>
...
英文:
The cursor is modified by {{range}}. Assign the cursor to a variable and use that variable inside the range.
...
<div>
<p>{{.Something}}</p>
{{$x := .}} <!-- assign cursor to variable $x -->
{{range ...}}
<p>{{$x.Something}}</p>
{{end}}
</div>
...
If the starting cursor in this snippet is the starting value of the template, then use the $
variable:
...
<div>
<p>{{$.Something}}</p> <!-- the variable $ is the starting value for the template -->
{{range ...}}
<p>{{$.Something}}</p>
{{end}}
</div>
...
通过集体智慧和协作来改善编程学习和解决问题的方式。致力于成为全球开发者共同参与的知识库,让每个人都能够通过互相帮助和分享经验来进步。
评论