【发布时间】:2014-12-10 12:39:38
【问题描述】:
我正在尝试将服务器数据拉入 Jade,然后使用该数据运行一个函数以确定要自动选择的类。这用于表格自动着色单元格,具体取决于单元格的值。
通过(日期差异)运行返回数据的函数:
function inDays(date1,date2) {
var date1=date1.split('/');
var date2=date2.split('/');
var d1=new Date(date1[1]+'/'+date1[0]+'/'+date1[2]);
console.log(d1);
var d2=new Date(date2[1]+'/'+date2[0]+'/'+date2[2]);
console.log(d2);
var t2=d2.getTime();
var t1=d1.getTime();
var days=parseInt((t2-t1)/(24*3600*1000));
return days
}
期望的用法:
td(class!='<%- #{inDays(<%= dateCompareAgainst %>, <%= date %>)} < 5 ? "green" : "orange"') <%= date %>
但这不起作用。
当我输入以下内容时:
td(class='#{inDays(<%= dateCompareAgainst %>, <%= date %>)}') <%= date %>
它按预期显示了班级中的两个日期。我不知道如何正确地做到这一点,任何帮助将不胜感激。
【问题讨论】:
-
inDays定义在哪里? -
@MichaelPerrenoud 函数 inDays 定义在翡翠范围内,如下面link 中所述,然后使用 #{inDays()} 调用
-
Jade 都是服务器端的,你不能指望你的
inDays函数在客户端执行,从客户端 javascript 获取参数。不完全确定<%=的东西是什么.. -
@laggingreflex
<%= %>是从服务端JS拉取的数据,<%- %>是Jade中要在服务端渲染的函数
标签: javascript node.js pug