将包含在 layout.ejs 中的每个页面都有一个 view-pagename.js,因此我可以在其中使用动态内容。如何将动态内容作为默认功能引入布局页面?没有 view-layout.js
问问题
30 次
1 回答
0
您可以使用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
于 2021-10-20T13:54:20.357 回答