将数据从服务传送到控制器

时间:2015-11-10 09:42:59

标签: javascript sails.js

我首先从sails js和node开始。

我尝试使用在sails中实现服务的常规方法来传递控制器中的数据。

例如,我有一个仪表板视图,名为dashboard.ejs

我的观点已正确路由并且所有内容。

但是,从服务传递数据的常规方法根本不起作用,我最终还是认为它能够正常工作,这似乎是非常不合适的:

我的CountService.js:

module.exports = {

RoomCount: function(req, res, cb, tab)
{
Room.count().exec(function(err, roomfound){
    tab.push(roomfound);
    cb(req, res, tab);
});
},
VenteCount: function(req, res, cb, tab)
{
Vente.count().exec(function(err, ventefound){
    tab.push(ventefound);
    cb(req, res, tab);
});
},
LotCount: function(req, res, cb, tab)
{
Lot.count().exec(function(err, lotfound){
    tab.push(lotfound);
    cb(req, res, tab);
});
}
};   

My DashboardController.js

module.exports = {


dashboard: function(req, res, next)
{
var tab = []
var end_dashboard = function(req, res, tab){
    res.view('dashboard', {
            roomCount: tab[0],
            venteCount: tab[1],
    lotCount: tab[2]
        });
};
var callbacklot = function(req, res, tab){
    end_dashboard(req, res, tab);
};
var callbackvente = function(req, res, tab){
    CountService.LotCount(req, res, callbacklot, tab);
};
var callbackroom = function(req, res, tab){
    CountService.VenteCount(req, res, callbackvente, tab);
};
CountService.RoomCount(req, res, callbackroom, tab);
},
};

然后我可以在我的视图ejs中调用VenteCount等值

常规方式是给出值=未定义

我认为我在res()或next()部分出错了所以我这样结束了但是它让服务变得非常复杂......

非常感谢你的帮助

0 个答案:

没有答案