将控制器或服务作为变量运行

Run a controller or service as a variable

本文关键字:变量 运行 服务 控制器      更新时间:2023-09-26

我有一个名为MyService.js的服务,导出了MyAction,它可以作为在任何地方调用

MyService.MyAction()

我需要把它称为一个变量。的以下工作

var myAction = "MyAction"
MyService[myAction]()

但是,有没有一种方法可以对服务名称使用相同的逻辑?例如:

var myAction = "MyAction"
var myService = "MyService"
myService[myAction]()

我认为这应该使用sails对象来运行,但我不知道从哪里开始。

有什么类似的东西吗:

sails.services[myService][myAction]()

在摆弄了sails对象之后,我找到了一个解决方案。

为了将服务作为变量调用,您需要确保服务名称是小写的,因为Sails是如何存储它们的。显然,这些行动保留了原来的情况,所以它们对情况敏感。

var myAction = "MyAction"
var myService = "MyService"
sails.services[myService.strToLower()][myAction]()