egg-view
Version:
Base view plugin for egg
50 lines (41 loc) • 1.05 kB
JavaScript
;
const ContextView = require('../../lib/context_view');
const VIEW = Symbol('Context#view');
module.exports = {
/**
* Render a file, then set to body, the parameter is same as {@link @ContextView#render}
* @param {...any} args arguments
* @return {Promise} result
*/
render(...args) {
return this.renderView(...args).then(body => {
this.body = body;
});
},
/**
* Render a file, same as {@link @ContextView#render}
* @param {...any} args arguments
* @return {Promise} result
*/
renderView(...args) {
return this.view.render(...args);
},
/**
* Render template string, same as {@link @ContextView#renderString}
* @param {...any} args arguments
* @return {Promise} result
*/
renderString(...args) {
return this.view.renderString(...args);
},
/**
* View instance that is created every request
* @member {ContextView} Context#view
*/
get view() {
if (!this[VIEW]) {
this[VIEW] = new ContextView(this);
}
return this[VIEW];
},
};