首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >JsReport2.0 BeforeRender不工作

JsReport2.0 BeforeRender不工作
EN

Stack Overflow用户
提问于 2018-06-12 20:29:54
回答 1查看 703关注 0票数 0

我正在编写jsreport v2.0,并希望为报告提供数据。我使用的是把手和幻影-pdf,我的beforeRender函数在默认情况下不会被调用。对于jsReportv2.0,我为beforeRender添加了监听器,如下所示,但在默认情况下,它似乎没有被调用来呈现数据。

代码语言:javascript
复制
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();
})
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-06-13 15:06:41

由于我不知道您正在使用的完整代码,所以我将继续为您提供一个在最新的jsreport-core v2 (2.0.3)中与节点8一起工作的代码片段。

代码语言:javascript
复制
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正在控制台中打印。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50825392

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档