最新消息: 电脑我帮您提供丰富的电脑知识,编程学习,软件下载,win7系统下载。

从快递到jade客户端javascript传递数组

IT培训 admin 3浏览 0评论

从快递到jade客户端javascript传递数组

我有这个玉模板:

html
  head
    script(type="text/javascript" src="")
    script(type='text/javascript')
      google.load("visualization", "1", {packages:["corechart"]});
      google.setOnLoadCallback(drawChart);
      function drawChart() {
      var data = google.visualization.arrayToDataTable([
      ['Date', 'Tin_A' ],

       - each datapoint in myData
            "[" + datapoint.date + "," + datapoint.value + "],"

      ]);
      var options = {
      title: 'bla'
      };
      var chart = new google.visualization.LineChart(document.getElementById('chart_line'));
      chart.draw(data, options);
      }


  body
    h1= title
    #chart_line

我正在使用此调用在express / node.js中呈现jade模板:

app.get('/', function(req, res){
  sensors.findSensorAllData(2, 2, function (error,emps){
        console.log(emps);
        res.render('tmp', {
            title : 'Temperatures in a row',
            myData : emps
        });
    });
});

console.log(emps)的输出是:

[ { _id: 524b8642028e167fb0e3661d,
    sensor_id: 2,
    value: 49,
    date: Tue Oct 01 2013 20:34:40 GMT-0600 (CST) },
  { _id: 524b863d028e167fb0e3661c,
    sensor_id: 2,
    value: 19,
    date: Tue Oct 01 2013 20:34:35 GMT-0600 (CST) } ]

在渲染出现之后,我希望在jadecrip中有jadecrip中的值......但是它不起作用。我在纯文本中只得到相同的行,好像行- each datapoing in myData没有任何意义......我做错了什么?谢谢

---编辑:如果我更换线条,一切正常

- each datapoint in myData
            "[" + datapoint.date + "," + datapoint.value + "],"

  ['2004',  20],
  ['2005',  30],
  ['2006',  40]
回答如下:

我认为由于括号周围的引号,您可能会意外地注入String而不是Array:

- each datapoint in myData
        "[" + datapoint.date + "," + datapoint.value + "],"

我对Jade不太熟悉,但我想你可能想要做以下事情:

- each datapoint in myData
        [#{datapoint.date}, #{datapoint.value}],

此外,在您提供的示例数据中,您只使用Date的year部分,但datapoint.date属性的内容可能是完整的Date对象,我不确定这是否是您想要的此用途。

从快递到jade客户端javascript传递数组

我有这个玉模板:

html
  head
    script(type="text/javascript" src="")
    script(type='text/javascript')
      google.load("visualization", "1", {packages:["corechart"]});
      google.setOnLoadCallback(drawChart);
      function drawChart() {
      var data = google.visualization.arrayToDataTable([
      ['Date', 'Tin_A' ],

       - each datapoint in myData
            "[" + datapoint.date + "," + datapoint.value + "],"

      ]);
      var options = {
      title: 'bla'
      };
      var chart = new google.visualization.LineChart(document.getElementById('chart_line'));
      chart.draw(data, options);
      }


  body
    h1= title
    #chart_line

我正在使用此调用在express / node.js中呈现jade模板:

app.get('/', function(req, res){
  sensors.findSensorAllData(2, 2, function (error,emps){
        console.log(emps);
        res.render('tmp', {
            title : 'Temperatures in a row',
            myData : emps
        });
    });
});

console.log(emps)的输出是:

[ { _id: 524b8642028e167fb0e3661d,
    sensor_id: 2,
    value: 49,
    date: Tue Oct 01 2013 20:34:40 GMT-0600 (CST) },
  { _id: 524b863d028e167fb0e3661c,
    sensor_id: 2,
    value: 19,
    date: Tue Oct 01 2013 20:34:35 GMT-0600 (CST) } ]

在渲染出现之后,我希望在jadecrip中有jadecrip中的值......但是它不起作用。我在纯文本中只得到相同的行,好像行- each datapoing in myData没有任何意义......我做错了什么?谢谢

---编辑:如果我更换线条,一切正常

- each datapoint in myData
            "[" + datapoint.date + "," + datapoint.value + "],"

  ['2004',  20],
  ['2005',  30],
  ['2006',  40]
回答如下:

我认为由于括号周围的引号,您可能会意外地注入String而不是Array:

- each datapoint in myData
        "[" + datapoint.date + "," + datapoint.value + "],"

我对Jade不太熟悉,但我想你可能想要做以下事情:

- each datapoint in myData
        [#{datapoint.date}, #{datapoint.value}],

此外,在您提供的示例数据中,您只使用Date的year部分,但datapoint.date属性的内容可能是完整的Date对象,我不确定这是否是您想要的此用途。

发布评论

评论列表 (0)

  1. 暂无评论