为了账号安全,请及时绑定邮箱和手机立即绑定

我可以在 Golang 的另一个模板中使用模板变量吗?

我可以在 Golang 的另一个模板中使用模板变量吗?

Go
慕仙森 2021-12-20 15:46:07
模板 1{{define "one"}}  {{ $var := "Hello"}}{{end}}模板 2{{define "two"}}  {{template "one"}}  Say, {{print $var}}{{end}}我知道上面的例子是无效的。但是有没有办法将"one"模板的变量使用到"two"模板中?
查看完整描述

1 回答

?
MYYA

TA贡献1868条经验 获得超4个赞

从阅读所有文档开始。答案似乎是否定的。当一个模板在嵌入到另一个模板之前执行时,该变量将消失,如果模板中使用了它的值,它会显示为静态文本。

在模板的例子中,$var没有在任何地方使用,所以它被扔掉了。

执行的顺序是。

  1. 加载两个模板。

  2. 模板被执行,扔掉$var,因为它没有被使用。

  3. 执行模板,将模板的结果嵌入其中

如果这个解释是错误的。请评论或编辑它。

但是我的问题的答案是标准模板库不会在模板之间传递模板变量。它们供本地使用。


查看完整回答
反对 回复 2021-12-20
  • 1 回答
  • 0 关注
  • 155 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号