使用Beego/GoLang在模板中插入JavaScript片段

Insert JavaScript Snippet Inside Template with Beego/GoLang

本文关键字:插入 JavaScript 片段 Beego GoLang 使用      更新时间:2023-09-26

使用Beego框架将javascript片段插入Golang模板的最佳方法是什么?

目前,我只是添加数据到模板:

c.Data["Javascript"] = JavasciptStringObject

在脚本中。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 template Doc,这显然是Beego模型:https://golang.org/pkg/html/template/

和这个堆栈溢出似乎越来越近,我不认为这将与Beego工作:Go lang模板:总是引用字符串并删除注释

答案是

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

注意:模板。JSEscape无法工作。