如何在 ejs 模板中使用 helper function 外部函数进行特殊处理?

一般我们想要在 ejs 模板中使用外部函数用于特殊的处理,比如:<%= ellipsis(title, 30) %>

通常的做法是:

  • 使用 app.locals 来定义:
app.locals.ellipsis = function(str, len) {
    return str;
}

// 使用
<%= ellipsis(title, 20) %>
var ejs = require('ejs');

ejs.filters.ellipsis = function(str, len) {
    return str;
}

// 使用
<%=: title | ellipsis:len %>    <%=: '这是一个很长的字符串'| ellipsis:5 %>

// 如果 filters 函数只有一个变量参数
<%=: param | ellipsis %>

最后推荐使用 app.locals.xxx 来定义 helper function,简单,方便。

posted @ 2015-11-23 23:46  {前端开发}  阅读(1312)  评论(0编辑  收藏  举报