在帆中的多个控制器中传递变量

时间:2013-12-11 09:58:09

标签: node.js sails.js

我有两个控制器,即用户和日历。我必须将用户对象从用户传递到日历。我们如何在帆中的多个控制器中传递变量?

3 个答案:

答案 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: {}

};