Я использую locomotivejs для сборки api, и я хотел знать, есть ли способ получить доступ к методу контроллера из другого контроллера?LocomotiveJS - Как получить доступ к методу другого контроллера
2
A
ответ
2
Единственная возможность - запросить другой контроллер. В нашем локомотивном проекте мы используем службу для выполнения такого же кода между различными контроллерами, как это:
Контроллер:
'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));
};
В этом примере, я взываю метод обслуживания, чтобы получить все мои альбомы, и, если Я хочу, я называю этот метод в другом контроллере. Я считаю, что это лучший способ использовать одно и то же действие в разных действиях контроллера.
Как вы передаете данные, которые вы обычно получаете через 'this.param()'? – clueless
oh, здесь я использую функцию 'getIndexParams()', потому что я использую те же параметры во многих контроллерах. Я редактирую свой ответ – throrin19