gpt4 book ai didi

node.js - expressjs View 中的变量

转载 作者:搜寻专家 更新时间:2023-11-01 00:34:26 25 4
gpt4 key购买 nike

我想让 session 变量(或任何其他变量)在 View 中可用,而无需再次重复。

我想到了这个:

  res.render('index', viewVariables(req, res, params, {});

viewVariables 函数:

function viewVariables(req, res, params, options) {
var returnObject = options || {locals:{}};
var locals = {
currentUser: req.currentUser ? req.currentUser : false
};
returnObject.locals = mergeObjects(locals, returnObject.locals, true);
return returnObject;
};

这在最新的 expressjs 版本中不起作用(不同的渲染方法)。

是否有更简单或更优雅的解决方案? (嗯,我确定有!)

最佳答案

你看过 dynamichelpers 吗?

来自网站:

app.dynamicHelpers(obj)

Registers dynamic view helpers. Dynamic view helpers are simply functions which accept req, res, and are evaluated against the Server instance before a view is rendered. The return value of this function becomes the local variable it is associated with.

app.dynamicHelpers({
session: function(req, res){
return req.session;
}
});

大多数时候我喜欢把它变成一个函数。这样,只有当您在 View 中调用该函数时,它才会被调用。

关于node.js - expressjs View 中的变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5245117/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com