我是 mustache.js 的新手,在 node.js 的 express 3.0 中使用它,我想使用辅助函数来格式化模板中的时间。
在 app.js 中:
app.locals({
helper: {
friendly_time: require('./libs/util').friendly_time
}
});
friendly_time 是一个函数function friendly_time(date){ ... }
,date 是一个Date
对象。
在 index.hjs 中:
{{#articles}}
<div class="org-articles">
<ul class="org-articles-list">
<li class="org-articles-item">
<a class ="org-article-title" href="/o/{{title}}">
{{title}}
</a> -
<span class="org-article-mtime">
{{#helper.friendly_time}}
{{mtime}}
{{/helper.friendly_time}}
</span>
</li>
</ul>
</div>
{{/articles}}
articles
是一个包含对象的数组,例如:
{
title: 'title', // a string
mtime: new Date() // a js Date object
}
然后进程抛出错误:
TypeError: Object {{mtime}} has no method 'getFullYear'
我知道articles[i].mtime
被视为一个字符串{{mtime}}
,这会导致错误。但我不知道这有多正确。任何帮助表示赞赏。