我有两个控制器,即用户和日历。我必须将用户对象从用户传递到日历。我们如何在帆中的多个控制器中传递变量?
答案 0 :(得分:1)
我刚开始使用sails(一般来说就是node.js),但我很担心javascript(客户端)。
我发现的唯一方法是使用变量范围。如果在任何匿名函数之前声明变量,您将能够从函数内部编辑此变量。因此,在您的控制器中执行操作时,您将拥有类似的内容:
//this will allow me to store my informations inside the categories variable.
var categories;
Categories.find().done(function(err, cat){
categories = cat;
});
//calling another datas and passing them to the view, alongside with my previous datas
Categories.findOne(id).done( function(err, cat){
return res.view({
data : cat,
cats : categories
});
})
我确信他们有很多更好的方法,我有兴趣了解他们=)
答案 1 :(得分:0)
在我的头顶,我会说你可以使用session。虽然在设计方面,将变量从一个控制器传递到另一个控制器的情况应该是值得怀疑的。
答案 2 :(得分:0)
在CalendarController.js中:
module.exports = {
foo: function(req, res, next) {
User.findOne(2).exec(function(err, user) {
if (err) return next(err);
res.json(user);
});
},
/**
* Overrides for the settings in `config/controllers.js`
* (specific to CalendarController)
*/
_config: {}
};