有没有办法在jade mixin内使用javascript code block?
我有下一个用例:
mixin YYYYMMDD(date)
= date.getFullYear() + '-'
= ('0' + (date.getMonth() + 1)).slice(-2) + '-'
= ('0' + date.getDate()).slice(-2)
所以我需要在
中使用这个mixininput(
value=YYYYMMDD(date)
)
更新 我不得不将这些mixins重新制作成js函数,所以它看起来与下一个类似:
- function YYYYMMDD(date)
- var flDate = date.getFullYear() + '-';
- flDate += ('0' + (date.getMonth() + 1)).slice(-2) + '-';
- flDate += ('0' + date.getDate()).slice(-2);
- return flDate;
答案 0 :(得分:2)
最简单的方法是,你在服务器上编写这段代码,然后你也可以使用其他一些语法,比如coffeescript,或者更好的是在这种情况下,有些库就像是
渲染模板时,只需向当地人添加辅助对象:
var moment = require('moment');
var YYYYMMDD = function(date) {
return moment(date).format('YYYYMMDD');
}
// express code
app.get('/test', function(req, res, next) {
var locals = getLocalsForTest();
locals.helpers = {
YYYYMMDD: YYYYMMDD
};
res.render('template.jade', {locals: locals});
});
在您的模板中,您可以调用此
input(value=helpers.YYYYMMDD(date))