在代码块中使用jade mixin

时间:2015-05-29 19:55:02

标签: node.js express pug

有没有办法在jade mixin内使用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;

1 个答案:

答案 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))