我有以下angularjs服务:
angular.module('app.main').factory('MyService', ["$http", function ($http) { return new function () { this.GetName = function () { return "MyName"; }; }; }]);
如何从旧版js代码中调用GetName函数MyService?
GetName
MyService
使用angular.injector。使用您的代码,您可以执行以下操作:
angular.module('main.app', []).factory('MyService', ['$http', function ($http) { return new function () { this.GetName = function () { return "MyName"; }; }; }]); angular.injector(['ng', 'main.app']).get("MyService").GetName();
这是jsfiddle:http : //jsfiddle.net/wGeNG/
注意 -加载自定义模块之前,您需要添加“ ng”作为第一个模块,因为示例代码取决于ng模块中的$ http提供程序。
编辑 - get()在OP的答案中使用, 但 请注意,此代码在不依赖于绑定到应用程序模块“ main.app”的元素的情况下获取服务。
get()