Javascript 将模板变量填充到内联函数

Javascript 将模板变量填充到内联函数,javascript,node.js,pug,jscharts,Javascript,Node.js,Pug,Jscharts,我正在尝试使用JSCharts block content | <div id="chartcontainer">This is just a replacement in case Javascript is not available or used for SEO purposes</div> script. var myData=new Array() var myData = new Array([10, 20], [15, 10], [20,

我正在尝试使用
JSCharts

block content
| <div id="chartcontainer">This is just a replacement in case Javascript is not available or used for SEO purposes</div>

script.
    var myData=new Array()
    var myData = new Array([10, 20], [15, 10], [20, 30], [25, 10], [30, 5]);
    var myChart = new JSChart('chartcontainer', 'line');
    myChart.setDataArray(myData);
    myChart.draw();
块内容
|这只是在Javascript不可用或不用于SEO目的的情况下的替换
剧本
var myData=新数组()
var myData=新数组([10,20]、[15,10]、[20,30]、[25,10]、[30,5]);
var myChart=newjschart('chartcontainer','line');
myChart.setDataArray(myData);
myChart.draw();
我在nodejs中动态创建了一个数组

[[10,20],[15,10],[20,30],[25,10],[30,5]。

然后递给杰德

res.render('chart',{newArray:array})

但是,我无法在上面提到的内联函数中使用它

我尝试使用
var myData=“#{newArray}”
,但它只给出一个字符串,如
10,20,15,10,20,30…
,无法使用

我还尝试发送Json对象。但是在
“#{myJson}”
和/或
stringify


我能做什么?另外,有什么方法可以在
脚本之外使用此脚本。
块?因为当我尝试时,它无法找到
JSChart()。如果这是可能的,那么我可以迭代json并做一些事情。

现在我正在使用这个解决方案:

block content
| <div id="chartcontainer">This is just a replacement in case Javascript is not available or used for SEO purposes</div>

-var myJson=JSON.stringify(json);
script.
    var array = new Array();
    var myData=JSON.parse(("#{myJson}").replace(/&quot;/g,'"'));
    myData.forEach(function(data)
    {
        array.push([data.x,data.y]);
    })
    var myChart = new JSChart('chartcontainer', 'line');
    myChart.setDataArray(array);
    myChart.draw();
块内容
|这只是在Javascript不可用或不用于SEO目的的情况下的替换
-var myJson=JSON.stringify(JSON);
剧本
var数组=新数组();
var myData=JSON.parse((“{myJson}”).replace(/“/g,”);
forEach(函数(数据)
{
push([data.x,data.y]);
})
var myChart=newjschart('chartcontainer','line');
setDataArray(数组);
myChart.draw();
但这似乎真的很愚蠢,而且是不必要的处理;在节点中创建json,然后将其发送到jade,将json转换为字符串,再次转换为json,然后再转换为数组。

您可以在脚本标记中的jade中使用

只需使用
!{}
标记

var array = new Array(!{newArray})

应该可以正常工作

不,它仍然会给出长度为1的数组
[10,20,15,10,20,30…]
即使我正在发送:
[10,20],[15,10],[20,30]
然后在服务器端代码中,将字符串作为JSON
{newArray:JSON.stringify(array)}
发送到客户端,
array=!{JSON.parse(newArray)}
应该可以做到这一点