繁体   English   中英

如何在脚本块中使用jade / pug条件?

[英]how to use jade/pug conditionals inside a script block?

我正在努力使这个工作。 即时通讯实际上使用Chart.js并尝试用数据数组填充图形。 所以我的代码看起来像

block lower-scripts
script.
    var data = {
        labels : [
            each visit in visitstats
                #{visit.date}, 
        ],

我得到的输出看起来像

<script>var data = {
labels : [
    each visit in visitstats
        04/17/2016, 
],

而且我认为那是不对的。 它应该将每个语句打印到html输出中吗?

我试着遵循以下几个问题,但无法正常工作。 看起来每个语句都没有运行。 尝试使用-使它运行。 尝试在js前面的管道使其成为异常。 没有。 谁能告诉我我要去哪里错了?

将隐藏的输入标签放在玉器中,例如

body
  input(type="hidden", id="visit-stats-json", value= JSON.stringify(visitstats) )

  script.
    var visitStatsValue = document.getElementById("visit-stats-json");
    var visitStatsJSON = JSON.parse( visitStatsValue );
    var labelsArray = [];
    for( var i = 0; i < visitStatsJSON.length; i++ )
    {
      var visit = visitStatsJSON[i];
      labelsArray.push( visit.date );
    }//for

    var data = { labels: labelsArray };

现在,您的数据变量应具有所需的值。

编辑:我使用完全相同的语法,它的工作原理。 请注意, value=之后有一个空格。 如果仍然无法使用,您还可以尝试以下方法以达到相同的结果:

-var visitStatsString = JSON.stringify(visitstats);
input(type="hidden", id="visit-stats-json", value= visitStatsString )

可以使用内联插值:

script.
  var visitstats = #[JSON.stringify(visitstats)];
  ... 

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM