我是否可以在模板文件 {{$title := "Login"}}
中设置一个变量,然后使用 {{template "将其解析为另一个包含的文件 header ".}}
?
我正在尝试的示例:
header.tmpl
{{define "header"}}
<title>{{.title}}</title>
{{end}}
登录.tmpl
{{define "login"}}
<html>
<head>
{{$title := "Login"}}
{{template "header" .}}
</head>
<body>
Login Body!
</body>
</html>
{{end}}
如何解析我通过标题模板创建的自定义 $title 变量?
最佳答案
正如@zzn 所说,不可能从一个模板中引用另一个模板中的变量。
实现您想要的目标的一种方法是定义一个模板——它将从一个模板传递到另一个模板。
header.html
{{define "header"}}
<title>{{template "title"}}</title>
{{end}}
登录.html
{{define "title"}}Login{{end}}
{{define "login"}}
<html>
<head>
{{template "header" .}}
</head>
<body>
Login Body!
</body>
</html>
{{end}}
当您调用“标题”模板({{template header $title}}
或什至 {{template header "index"}}
)时,您也可以将标题作为管道传递,但这会阻止您向该模板传递任何其他内容。
关于go - 在 Golang 中通过模板解析自定义变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43883110/