我首先从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()部分出错了所以我这样结束了但是它让服务变得非常复杂......
非常感谢你的帮助