当前位置: 首页 > 面试题库 >

如何在Go模板中转义“ {{”和“}}”定界符?

柴嘉年
2023-03-14
问题内容

我将AngularJS用作前端JS库,并在Revel框架中使用Go模板来在后端生成标记。

但是Go和Angular 在模板中都使用{{}}分隔符。如何在Go中转义它们以将它们传递给AngularJS?


问题答案:

我不知道如何转义它,但是您可以选择其他定界符,而不是使用Delims

func (t *Template) Delims(left, right string) *Template

根据邮件列表,这可能是最佳选择。争论是,如果您逃避了它,您的模板将很难阅读,因此无论如何更改定界符而不是尝试破解它可能会更好。



 类似资料:
  • 问题内容: Django在其模板中将其视为某些变量。我怎样才能逃避或或使得Django不把它当作变量。 应该打印完全一样。 问题答案: 我相信您正在寻找template标签。 如链接到文档所述, 由于模板系统没有“转义”的概念,因此要显示模板标签中使用的位之一,必须使用标签。 例如: 将显示为:

  • 问题内容: Django 在其模板中将其视为某些变量。我怎样才能逃避或使得Django不把它当作变量。 应该打印完全一样。 问题答案: 相信你正在寻找模板标记。 如链接到文档所述, 由于模板系统没有“转义”的概念,因此要显示模板标签中使用的位之一,必须使用标签。 例如: 将显示为:

  • "Pay attention to what you hear; the measure you give will be the measure you get, and still more will be given you. For to those who have, more will be given; and from those who have nothing, even wh

  • 问题内容: 我正在尝试定义在模板条件中使用的自定义Go函数。我要实现的是:如果给定的参数是IPv4地址,则模板将输出 IPv4:[argument] 否则它将输出 IPv6:[argument] 。 为此,我创建了一个像这样的模板: 如您所见,我创建了一个名为 IsIPv4 的新函数,该函数接受字符串参数,并给定参数返回true或false。这是代码: 在执行模板时,我没有任何错误,但是在尝试评估

  • 正如我们已经描述过的,模板可以使用在数据模型中定义的变量。 在数据模型之外,模板本身也可以定义变量来使用。 这些临时变量可以使用FTL指令来创建和替换。请注意每一次的 模板执行 工作都维护它自己的私有变量, 同时来渲染页面。变量的初始值是空,当模板执行工作结束这些变量便被销毁了。 可以访问一个在模板里定义的变量,就像是访问数据模型根root上的变量一样。 这个变量比定义在数据模型中的同名参数有更高

  • 我有一个java方法,它需要几个字符串。需要从Velocity模板调用此方法。但是,字符串太复杂了,有很多单引号、双引号和逗号。因此,合并失败。有没有办法逃避速度中的引号?