2016-04-21 7 views
1

Я работаю над приложением Sails.Передача данных с контроллера на другой контроллер

Есть ли в любом случае передать данные с другого контроллера с помощью парусов JS?

// controller 1 
    exports.module{ 
    passing data to controller 2 
    } 

    // controller2 

    exports.module{ 
    get data from controller 1 
    } 

или лучше, есть ли вообще создать глобальную переменную, к которой может обращаться любой контроллер в парусах js? как $ _SESSION ['sessionname'] в php?

ответ

2

Вы можете использовать Service, он позволяет вам получать доступ к данным во всем вашем коде.

EDIT

Вы также можете использовать глобальную переменную sails:

sails.myObject = {}

+0

спасибо человеку. Кстати, есть ли способ передать там значение? – Lemon

+0

Вы также можете использовать 'sails.myObject = {}' –

0

я буду считать, есть два контроллера, как вы просили в ваш вопрос.

Предмет контроллер (который возвращает данные)

module.exports = { 
    science : function (req, res, next, callback) { 
    var data = ["Biology", "Physics", "Chemistry"]; 
    return callback(data); 
    } 
} 

студент контроллер (который принимает данные)

module.exports = { 
    getStudentSubject : function(req, res, next, callback){ 
    //get the data from Subject controller 
    sails.controllers.subject.science(req, res, next, function(data){ 
     // got the data 
     console.log(data) 
     // this should print ["Biology", "Physics", "Chemistry"] 
    }); 
    } 
} 

Любой метод управления может быть доступен в парусов по sails.controllers.methodName

Надеюсь, это поможет.