意识到需要使用例如
注册所有控制器app.controller("Example1Ctrl", Example1Ctrl );
app.controller("Example2Ctrl", Example2Ctrl );
在将$ inject设置为一系列服务,指令等之前
Example1Ctrl.$inject = ['$scope']
我正在尝试引入自己的自定义服务[从控制器中获取业务逻辑等]。
但是,我无法使用"将$ inject设置为一系列服务来加入自定义服务"控制器的语法。
作为一个相对简单的练习,我已将[自定义服务]的W3Schools工作示例复制到Plunker。
我的替代方案"将$ inject设置为一系列服务"语法在底部注释掉。
我希望能够使用这种控制器语法,因为我已经启动了一些需要逻辑从控制器转移到服务中的项目。
我对任何解决方案持开放态度 - 包括对方法的一般改变:只要它是最新的等等。
希望有人可以提供帮助
答案 0 :(得分:0)
我注意到我对这个W3Schools示例的改编有误:
在我的“设置$ inject到服务数组”语法的控制器中,我复制了服务的内容:
th.myFunc = function (x) {
return x.toString(16);
不使用服务调用 [hexafy]替换控制器属性定义[hex]及其常驻方法 [myFunc]:
th.hex = hexafy.myFunc(255);
这样做可以让我在控制器的首选“设置$ inject到服务数组”语法中包含[并利用]服务。
对于任何有兴趣的人
,我已将修改后的“答案”放入新的Plunker