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

时间:2014-09-04 03:30:33

标签: javascript sails.js

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

MyService.MyAction()

我需要将其称为变量。以下作品

var myAction = "MyAction"

MyService[myAction]()

但是,是否有办法对服务名称使用相同的逻辑?例如:

var myAction = "MyAction"
var myService = "MyService"

myService[myAction]()

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

是否有类似的内容:

sails.services[myService][myAction]()

1 个答案:

答案 0 :(得分:1)

在摆弄帆船物体后,我找到了解决方案。

为了将服务作为变量调用,您需要确保服务名称是小写的,因为Sails如何存储它们。显然,这些操作保留了原始案例,因此它们区分大小写。

var myAction = "MyAction"
var myService = "MyService"

sails.services[myService.strToLower()][myAction]()