Właściwie począwszy od Żagle v0.10-rc5, możesz użyć skrótu sails.config.views.locals
do określenia zmiennych, które powinny być domyślnie dostarczane wszystkie widoki. Więc w config/views.js
, coś jak:
{
locals: {
myvar : 'this is a view var'
}
}
by dodać var do każdego widoku. Jest to szczególnie użyteczne w przypadku zmiennych wpływających na mechanizm wyświetlania; Aby uzyskać więcej informacji, zobacz here.
Możesz także użyć policy w Sails v0.10.x, aby ustawić vars pomiędzy wieloma widokami, zmieniając req.options.locals
. Więc jeśli stworzył politykę /api/policies/decorate.js
z:
module.exports = function(req, res, next) {
// Default to an object if empty, or use existing locals that may have
// been set elsewhere
req.options.locals = req.options.locals || {};
// Set a new local var that will be available to any controller that
// implements the policy
req.options.locals.myVar = Math.random()
a następnie skonfigurować /config/policies.js
z czymś takim:
module.exports = {
'*': 'decorate'
}
wtedy wszelkie działania kontroler, który wykorzystuje res.view
będą musiały że myVar
zmienna dostępna w widoku.
Doskonała !! właśnie tego szukałem, dziękuję! –
Jasna i dobrze napisana odpowiedź. Powinieneś przesłać go do dokumentacji Sails. – dbasch
'req.options.locals' didnt działa dla mnie, ale' res.locals' zrobił. –