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>
- 由于先使用,
hbs.registerHelper
,方法注册了一个名字为date的事件监听器,当遇到{{date birth 'YYYY/MM/DD'}}
时,会将根据事件监听器找到date的事件处理器,即回调函数,然后将 birth 作为参数1 传入, 'YYYY/MM/DD’作为参数2传入.最后最为一个整体返回