使用Beego / GoLang在JavaScript模板内插入JavaScript代码段

时间:2016-06-26 04:22:14

标签: javascript templates canvas go

使用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

1 个答案:

答案 0 :(得分:1)

答案是

 import "html/template"

 //within function
 c.Data["Javascript"] = template.JS(JavasciptStringObject)

注意:template.JSEscape不起作用。