我正在编写jsreport v2.0,并希望为报告提供数据。我使用的是把手和幻影-pdf,我的beforeRender函数在默认情况下不会被调用。对于jsReportv2.0,我为beforeRender添加了监听器,如下所示,但在默认情况下,它似乎没有被调用来呈现数据。
function beforeRenderListeners1(req,res){
console.log("Listener Called");
}
const jsreport = require('jsreport-core')({
})
jsreport.beforeRenderListeners.add('beforeRenderListeners1', (req, res) => {
console.log("hello");
req.data.check = abc();
})发布于 2018-06-13 15:06:41
由于我不知道您正在使用的完整代码,所以我将继续为您提供一个在最新的jsreport-core v2 (2.0.3)中与节点8一起工作的代码片段。
const jsreport = require('jsreport-core')()
jsreport.use(require('jsreport-handlebars')())
jsreport.beforeRenderListeners.add('beforeRenderListeners1', (req, res) => {
console.log("before render called")
req.data = req.data || {}
req.data.check = 'check pass'
})
jsreport.init().then(() => {
console.log('started')
return jsreport.render({
template: {
content: '<p>sample demo content, check: {{check}}</p>',
engine: 'handlebars',
recipe: 'html'
}
})
}).then((res) => {
console.log('render done')
console.log(res.content.toString())
}).catch((err) => console.error(err))将其放入一个文件中,然后运行它,您将看到消息before render called正在控制台中打印。
https://stackoverflow.com/questions/50825392
复制相似问题