将Jade模板变量填充到内联函数中
Padding Jade template variable to inline function
我正在尝试使用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();
我在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
后也不可用
我能做什么?此外,有什么方法可以在script.
块之外使用此脚本吗?因为当我尝试时,它找不到JSChart()
,尽管我已经在head
中包含了该文件。如果这是可能的,那么我可以迭代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(/"/g,'"'));
myData.forEach(function(data)
{
array.push([data.x,data.y]);
})
var myChart = new JSChart('chartcontainer', 'line');
myChart.setDataArray(array);
myChart.draw();
但这似乎真的很愚蠢和不必要的处理;在node中创建json,然后将其发送到jade,将json转换为字符串,然后再转换为json,再转换为数组。
您可以在脚本标记中的JADE中使用Unescaped String Interpolation。
只需使用!{}
标签。
var array = new Array(!{newArray})
应该工作良好
相关文章:
- 在页面中找不到元素的正确位置.函数未考虑填充
- 从sql填充Jqgrid的自定义Add函数中的下拉数据
- Javascript使用本地存储,回调对象并用Json更改为一个字符串以用于填充函数
- 谷歌地图API没有;t显示地图,如果中心由javascript函数填充
- 当浏览器自动填充表单字段时,$parsers$formatters函数不会启动
- 将函数应用于填充有数字的对象
- 在承诺函数从 pouchdb 填充数据之前触发 Ionic/Angular $watch的问题
- 通过 JavaScript 函数填充 HTML 下拉菜单
- 通过函数填充 Grunt 任务配置的“文件”属性
- jquery函数填充的文本框需要小数
- 用async geocode函数填充javascript数组
- 如何使用json函数填充数据库组合框
- 用之前调用的函数填充异步数组
- 从javascript函数填充DTO类
- 如何用一个javascript函数填充多个选择元素?
- 为什么我的隐藏字段不从JavaScript函数填充
- 克隆img SRC以从click函数填充特定的其他img源
- PHP Javascript AJAX填充和计算几个输入字段-只有一个函数填充
- 使用jQuery JSON函数填充文本区域时,一个特定的下拉菜单项被选中
- 在页面加载时使用javascript函数填充HTML列表框