moment
- 是一款常用的处理时间的库
- 传入 1999-03-01T16:00:00.000Z YYYY/MM/DD
- 输出 1999/03/02
const moment = require('moment');
const myDatePattern = (date, pattern) =>{
return moment(date).format(pattern)
}
给扩展hbs功能.
const hbs = require('koa-hbs');
const moment = require('moment');
hbs.registerHelper("date", (date, pattern) => {
try {
return moment(date).format(pattern);
} catch (err) {
return ""
}
});
hbs.registerHelper(param1, cb)
: 第一个参数是标识符- 第二个参数是一个回调函数,当触发标记时,所进行的事件处理
在koa中hbs使用
const hbs = require('koa-hbs');
const helpers = require('./ustils/helpers');
app.use(hbs.middleware({
viewPath: __dirname + '/views',
defaultLayout: 'layout',
partialsPath: __dirname + '/views/partials',
disableCache: true
}))
使用扩展date
users:[
{username: "tom", age: 20, birth: new Date(1999, 2, 2)},
{ username: "jerry", age: 21, birth: new Date(1999, 3, 2) }
]
<ul>
{{#each users}}
<li>{{username}} - {{age}} - {{date birth 'YYYY/MM/DD' }} </li>
{{/each}}
</ul>
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/3e0b26fa9dab50f9a076d8ca288e51cf.png)
- 由于先使用,
hbs.registerHelper
,方法注册了一个名字为date的事件监听器,当遇到{{date birth 'YYYY/MM/DD'}}
时,会将根据事件监听器找到date的事件处理器,即回调函数,然后将 birth 作为参数1 传入, 'YYYY/MM/DD’作为参数2传入.最后最为一个整体返回