【问题标题】:Use jade mixin inside code block在代码块中使用jade mixin
【发布时间】:2015-05-29 19:55:02
【问题描述】:

有没有办法在javascript code block 中使用jade mixin

我有下一个用例:

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;

【问题讨论】:

    标签: node.js express pug


    【解决方案1】:

    最简单的方法是,您在服务器上编写此代码,然后您还可以使用其他语法,例如 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))
    

    【讨论】:

      猜你喜欢
      • 2013-11-22
      • 2014-12-11
      • 2015-02-15
      • 1970-01-01
      • 1970-01-01
      • 2011-12-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多