jsreport 2.0 BeforeRender не работает - PullRequest
0 голосов
/ 12 июня 2018

Я работаю над jsreport v2.0 и хочу представить данные для отчета.Я использую handlebars и phantom-pdf, и моя функция beforeRender не вызывается по умолчанию.Для jsreport v2.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();
})

1 Ответ

0 голосов
/ 13 июня 2018

, поскольку я не знаю полного кода, который вы используете, я продолжу и предоставлю вам фрагмент кода, который работает в последней версии 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, которое печатается в консоли.

...