Node.js 我需要在某种方法中为变量赋值,就像我在PreRender中做的那样?

Node.js 我需要在某种方法中为变量赋值,就像我在PreRender中做的那样?,node.js,sails.js,Node.js,Sails.js,我需要在某种方法中为变量赋值,就像我在PreRender中做的那样? (Sails.js v0.11.0) CakePHP示例: public function beforeRender(){ ... } 示例Rails: before_render : .... 你可以在很多地方设置本地人。这取决于您的用例 如果每个操作的变量不同,则可以将其放置在调用视图的操作中 如果每个请求的变量不同,则可以将其放置在策略中以设置局部变量 如果单个路由的变量是静态的,则可以将其放入路由中 如果应用程

我需要在某种方法中为变量赋值,就像我在PreRender中做的那样? (Sails.js v0.11.0)

CakePHP示例:

public function beforeRender(){
  ...
}
示例Rails:

before_render : ....

你可以在很多地方设置本地人。这取决于您的用例

如果每个操作的变量不同,则可以将其放置在调用视图的操作中

如果每个请求的变量不同,则可以将其放置在策略中以设置局部变量

如果单个路由的变量是静态的,则可以将其放入路由中

如果应用程序的变量是静态的,那么可以在许多地方放置

可以在渲染视图中使用局部或全局,这意味着您创建的任何服务(甚至静态对象)都可以在渲染视图中使用


您为什么需要这个?基本上,所有活动方法都是在渲染之前执行的。或者您需要在特定控制器中以相同方式执行所有操作的代码?使用策略。我现在需要为登录后的所有视图设置totalCustomers:
。/api/controllers/CustomerController.js。。。main:function(req,res){var totalCustomers=0;Customer.count().exec(function totalCustomers(err,total){totalCustomers=parseInt(total);return res.view(null,{totalCustomers:totalCustomers});});}用于每个操作。但这并不好。我需要为所有视图设置totalCustomers,获取Customers.count()。。。在CakePHP中,Ruby on Rails有:beforeRender(){….}和beforeFilter(){….}设置视图中使用的值。Sails最接近beforeRender()的是策略。你应该去看看。但是,在每个视图之前运行该查询并不是非常有效。您应该将其放入客户模型的回调中,然后在sails范围中设置该变量。您的视图可以自动使用此范围。确切地说,beforeFind:function(values,cb){values.totalCustomers=45}应该是一个函数,或者:attribute:function(){return'45'}我现在可以这样做吗?