使用Beego框架将Javascript代码段插入Golang模板的最佳方法是什么?
目前,我只是在模板中添加数据:
c.Data["Javascript"] = JavasciptStringObject
在script.tpl文件中添加插入点:
var canvas = new fabric.Canvas('c');
canvas.setHeight(571); //todo: Set to height of image
canvas.setWidth(991);
{{.JavaScript}}
问题是它从字符串中转义引号,而不是直接注入:
var canvas = new fabric.Canvas('c');
canvas.setHeight(571);
canvas.setWidth(991);
"var path = new fabric.Path('M 617 141 L 606 126M 606 126 L 604 127 z', { stroke: 'red', strokeWidth: 2, fill: false, originX: 'left', originY: 'top',});canvas.add(path); "
一些有用的资源包括Golang HTML Templating Doc,显然是Beego模型:https://golang.org/pkg/html/template/
这个堆栈溢出似乎越来越近,我不认为这将与Beego一起使用:Go lang templates: always quotes a string and removes comments
答案 0 :(得分:1)
答案是
import "html/template"
//within function
c.Data["Javascript"] = template.JS(JavasciptStringObject)
注意:template.JSEscape不起作用。