我无法在这里看到语法问题在哪里:
x = ()->new TranformService()
angular.module('rcMovable').factory ( "transformService", x)
当没有问题时
x = ()->new TranformService()
angular.module('rcMovable').factory "transformService", x
暂时忘掉Angular的东西,我有:2:58: error: unexpected ','
答案 0 :(得分:4)
您不能在方法名称和用于调用它的括号之间放置空格。如果这样做,括号不再是函数调用的一部分,它们是对函数参数的操作顺序。
考虑一些有效和无效语法的例子:
x()
是一个没有参数的有效调用x ()
是x
的无效调用,一个参数:()
。由于()
不是有效表达式,因此这是语法错误。x (name: "bob")
或x (->3 * 3), 4
都是有效的调用,因为(...)
是有效的表达式x(a, b)
再次是x
的有效调用,带有两个参数x (a, b)
是x
的无效调用,一个参数:(a, b)
。同样,(a, b)
本身不是一个有效的表达式,因此这是一个语法错误。在您的情况下,您尝试使用一个参数调用.factory
:("transformService", x)
,这不是有效的表达式。
你所写的内容基本上是这样的:
a = ("transformSerice", x) # invalid syntax
factory(a)