ejs filter使用

 王同学  模板引擎  2016-07-26  13958  发表评论
node安装ejs模块后,在ejs/lib/filters.js文件中有很多常用的方法
如:
exports.upcase = function(str){
  return String(str).toUpperCase();
};
使用方法:<%=: "abcdef" | upcase  %>
结果:ABCDEF

自定义filter
如格式化日期:
在filters.js文件加入如下代码即可
exports.format = function (obj, format) {
    if (format == undefined) {
        format = 'YYYY-MM-DD HH:mm:ss';
    }
    var ret = moment(obj).format(format);
    return ret == 'Invalid date' ? '0000-00-00 00:00:00' : ret;
};
直接修改组件代码不是太好,不利于组件升级
推荐的方法是在app.js中引入ejs后

给ejs对象添加filter即可,如下加粗代码修改

ejs.filters.format = function (obj, format) {
    if (format == undefined) {
        format = 'YYYY-MM-DD HH:mm:ss';
    }
    var ret = moment(obj).format(format);
    return ret == 'Invalid date' ? '0000-00-00 00:00:00' : ret;
};

使用方法:<%=: data | format:"YYYY-MM-DD" %>

所有评论
加载评论 ...
发表评论