我的server.js
中有以下代码 var cddata = [];
body.rows.forEach(function(doc) {
cddata.push([{id: doc.id, name: doc.key, text:doc.value.Time, group: 1}]);
});
response.render('timeline', {cddata: JSON.stringify(cddata)});
我的Jade视图文件中有以下内容
script(src='vis/dist/vis.js')
link(rel="stylesheet", href="vis/dist/vis.css", type="text/css")
script.
//alert(cddata);
var options = {};
var data = new vis.DataSet(cddata);
var container = document.getElementById('visualization');
new vis.Timeline(container, data, options);
但是,不会呈现与图表相关的任何内容。我认为对象没有正确传递给jade文件。请帮忙!
另外,有没有办法验证Jade中的传入对象?提醒似乎不起作用。 感谢
答案 0 :(得分:0)
您的玉中的<script>
是浏览器端脚本,因此无法访问模板生成范围中的变量。您需要将数据输出为JSON并使用浏览器端JavaScript进行读取,如下所示:
script(src='vis/dist/vis.js')
link(rel="stylesheet", href="vis/dist/vis.css", type="text/css")
script.
var chartData = JSON.parse('#{cddata}')
var options = {};
var data = new vis.DataSet(chartData);
var container = document.getElementById('visualization');
new vis.Timeline(container, data, options);
答案 1 :(得分:0)
经过深思熟虑后,以下工作将对象从节点服务器传递到Jade文件上的客户端服务器脚本。
在server.js上,其中dbdata是一个JSON对象数组
response.render('timeline', {dbdata:dbdata});
在玉器文件上,
script.
var chartData = !{JSON.stringify(dbdata)};
谢谢,