Is there a way to render a view to a variable? I want to change this.
var events = {
lastIndex: 32,
payload = [
{
id: 5,
title: "Hello world!"
conyent: "Lorem ipsum"
},
{
id: 7,
title: "Hello world!"
conyent: "Lorem ipsum"
},
...
{
id: 32,
title: "Hello world!"
conyent: "Lorem ipsum"
}
]
};
return reply.view('event/list', {
events: events.payload
});
To this:
return {
events.lastIndex: 32,
view: toView('event/list',events.payload)
}
I'm using Hapi v8 and Jade as render engine.
You can use server.render()
. Example from the documentation:
var Hapi = require('hapi');
var server = new Hapi.Server();
server.connection({ port: 80 });
server.views({
engines: { html: require('handlebars') },
path: __dirname + '/templates'
});
var context = {
title: 'Views Example',
message: 'Hello, World'
};
server.render('hello', context, function (err, rendered, config) {
console.log(rendered);
});