Javascript 如何在脚本块中使用jade/pug条件?
我正在努力让它工作。我实际上在使用Chart.js,并试图用数据数组填充我的图表。 所以我的代码看起来像Javascript 如何在脚本块中使用jade/pug条件?,javascript,node.js,pug,Javascript,Node.js,Pug,我正在努力让它工作。我实际上在使用Chart.js,并试图用数据数组填充我的图表。 所以我的代码看起来像 block lower-scripts script. var data = { labels : [ each visit in visitstats #{visit.date}, ], <script>var data = { labels : [ each visit
block lower-scripts
script.
var data = {
labels : [
each visit in visitstats
#{visit.date},
],
<script>var data = {
labels : [
each visit in visitstats
04/17/2016,
],
我得到的输出看起来像
block lower-scripts
script.
var data = {
labels : [
each visit in visitstats
#{visit.date},
],
<script>var data = {
labels : [
each visit in visitstats
04/17/2016,
],
var数据={
标签:[
访问状态中的每次访问
04/17/2016,
],
我认为这是不对的。它是否应该将每条语句打印到html输出中
我试着回答了几个问题,但都没法解决。
它看起来不像each语句运行。尝试使用-使其运行。尝试js前面的管道使其成为异常。什么都没有。
有人能告诉我哪里出了问题吗?把一个隐藏的输入标签放在你的身体里,比如jade
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 };
可以使用内联插值:
script.
var visitstats = #[JSON.stringify(visitstats)];
...
我通常将数组或对象放入一个隐藏的输入标记中,然后在前端js中需要时,我得到这个输入标记的值并对其进行解析。聪明。你有没有一个例子可以清理并作为答案?我还认为应该可以在文档准备就绪时将其ajax放到页面中。但我的ajax排印不符合我的要求现在就是这样。为什么要使用一个不需要的额外ajax请求。等等,我会把我的方法作为答案。mike,谢谢你的全面回复。这正是我需要的。除了我无法让它工作之外。JSON.stringify(visitstats)从来没有吐出任何东西。我需要做什么才能使它作为js运行,因为它在html块中?比如预处理-标记?感谢更新。我确实让原来的行工作了,这很好。不确定为什么它不会。我还必须在第六行添加.value,以便JSON.parse函数能够真正到达coHtmleElement包含的对象的内容。我真正喜欢你的答案的地方是可伸缩性。我只需要再添加两行,就可以排列结果的其他内容,这太棒了。回答得好,谢谢你抽出时间来帮助我。谢谢@bytejunkie:)。如果对你有用,请标记为答案。@bytejunkie不,y你已经做了标记。我刚刚提交了评论。谢谢:)