我有以下 angularjs 服务:
angular.module('app.main').factory('MyService', ["$http", function ($http) {
return new function () {
this.GetName = function () {
return "MyName";
};
};
}]);
如何从遗留 js 代码的 MyService
调用 GetName
函数?
最佳答案
使用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 的回答但请注意,此代码正在获取服务而不依赖于绑定(bind)到的元素应用程序模块“main.app”。
关于javascript - 从简单的 js 代码调用 angularjs 服务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17319784/