我正在使用 html/模板功能来组装页面,我提供给模板的变量之一是形式为“/some/path/etc”的 URI,用作 JS 函数的参数在 onClick="..."中调用。
无论如何,此配置中使用的字符串将使用反斜杠进行转义:"\/some\/path\/etc"
正如您在下面的 playground 示例中所见,我尝试了所有 .HTML()、.JS() 等函数,但似乎没有任何东西可以阻止转义。
请参阅此处的 Go Playground 示例:https://play.golang.org/p/2gdghTpQHKP
我怎样才能“按原样”将此 URI 放入模板结果中?
最佳答案
感谢 mkopriva 的评论。
据我所知,没有办法(如 mkopriva 所述)在 Go HTML 模板中处理 HRML 属性值片段。 所以选项是:
- 保持原样(似乎至少在我的用例中,URI 甚至可以在使用转义正斜杠的进一步处理中工作)
- 首先连接完整的属性,以便“HTML 属性”方式接受它
- 编写一个构造函数,在模板执行中获取部分并组装最终属性值
- 以某种形式对值进行硬编码
关于go - 如何阻止 go html/template 转义路径(尝试过 .HTML .JS 等),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56901637/