我正在使用 locomotivejs 构建一个 api,我想知道是否有办法从另一个控制器中访问控制器方法?
问问题
88 次
1 回答
2
唯一的可能是请求另一个控制器。在我们的机车项目中,我们使用 Service 在不同的控制器之间执行相同的代码,如下所示:
控制器 :
'use strict';
var Controller = require('../../../libs/v1.2/controller'),
codes = require('../../../config/app/codes'),
MediaService = require('../../services/v1.2/media_service');
var AlbumsController = new Controller();
AlbumsController.index = function() {
var service = new MediaService(),
exampleParam = this.param('exampleParam');
service.findAllAlbums(exampleParam, function(err, result){
if(err){
this.res.status(codes.http.success).json([]);
return;
}
this.res.status(codes.http.success).json(result);
}.bind(this));
};
在这个例子中,我直接调用一个服务方法来获取我所有的专辑,如果需要,我可以在另一个控制器中调用这个方法。我认为是在不同控制器的操作中使用相同操作的最佳方法。
于 2015-07-16T06:53:27.203 回答