使用layout.ejs动态或如何编辑视图-layout.js
Use layout.ejs dynamic or how to edit a view-layout.js
将包含在 layout.ejs 中的每个页面都有一个视图-pagename.js,因此我可以在其中使用动态内容。
如何将动态内容作为布局页面的默认功能?没有视图-layout.js
您可以使用 hooks
,您可以从助手甚至模型中获取数据。检查路由助手规范:
https://sailsjs.com/documentation/concepts/extending-sails/hooks/hook-specification/routes
所以你可以使用sails generate hook some-hook-name
指定一个钩子并使用它:
module.exports = function (sails) {
return {
initialize: function(cb) {
sails.log.info('Hook some-hook-name loaded successfully');
},
routes: {
before: {
'GET /*': async function (req, res, next) {
res.locals.pageTitle = await sails.helpers.getPageTitle(req);
return next();
}
},
}
};
};
之后你可以在视图中使用它:
<%= pageTitle %>
还有一个将变量设置为局部变量的示例:
https://github.com/mikermcneil/ration/blob/master/api/hooks/custom/index.js#L240
将包含在 layout.ejs 中的每个页面都有一个视图-pagename.js,因此我可以在其中使用动态内容。 如何将动态内容作为布局页面的默认功能?没有视图-layout.js
您可以使用 hooks
,您可以从助手甚至模型中获取数据。检查路由助手规范:
https://sailsjs.com/documentation/concepts/extending-sails/hooks/hook-specification/routes
所以你可以使用sails generate hook some-hook-name
指定一个钩子并使用它:
module.exports = function (sails) {
return {
initialize: function(cb) {
sails.log.info('Hook some-hook-name loaded successfully');
},
routes: {
before: {
'GET /*': async function (req, res, next) {
res.locals.pageTitle = await sails.helpers.getPageTitle(req);
return next();
}
},
}
};
};
之后你可以在视图中使用它:
<%= pageTitle %>
还有一个将变量设置为局部变量的示例:
https://github.com/mikermcneil/ration/blob/master/api/hooks/custom/index.js#L240