我必须去模板文件。我需要将一些值从一个模板传递到另一个模板。 IE
模板A有两个带.Name和.Type的变量。这些值是从带有ctx.Data的go代码传递的。模板A使用
引用模板B.{{ template "B" . }}
但是在模板B. .Name和.Type中没有相同的名称。我无法更改模板B的变量引用,因为Tempalte B直接与这些变量一起使用。 模板B看起来像这样。
Username : {{ .UserName }}
Type : {{ .UserType }}
现在我的问题是如何将模板A中的.Name更改为.UserName?
{{ tempalte "B" .Name as .UserName }}
有这样的东西????
答案 0 :(得分:1)
不幸的是,对于Go的文本/模板或html /模板包的当前版本,这是不可能的。
您需要在Go端将“Name”和“UserName”附加到ctx.Data
,以便可以使用模板B中的确切名称访问它们。
您可能需要查看pongo2,一个类似Django的Go模板(https://github.com/flosch/pongo2)
pongo2中的具体用例在此处记录:https://github.com/flosch/pongo2/blob/master/template_tests/includes.tpl