在代码块中使用 jade mixin
Use jade mixin inside code block
有没有办法使用jade mixin inside javascript code block?
我有下一个用例:
mixin YYYYMMDD(date)
= date.getFullYear() + '-'
= ('0' + (date.getMonth() + 1)).slice(-2) + '-'
= ('0' + date.getDate()).slice(-2)
所以我需要在里面使用这个mixin
input(
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;
最简单的方法是,你在服务器上编写这段代码,然后你也可以使用一些其他语法,例如 coffeescript 或者在这种情况下更好,一些库,如 moment
渲染模板时,只需将辅助对象添加到本地即可:
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))
有没有办法使用jade mixin inside javascript code block?
我有下一个用例:
mixin YYYYMMDD(date)
= date.getFullYear() + '-'
= ('0' + (date.getMonth() + 1)).slice(-2) + '-'
= ('0' + date.getDate()).slice(-2)
所以我需要在里面使用这个mixin
input(
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;
最简单的方法是,你在服务器上编写这段代码,然后你也可以使用一些其他语法,例如 coffeescript 或者在这种情况下更好,一些库,如 moment
渲染模板时,只需将辅助对象添加到本地即可:
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))