javascript - 从简单的 js 代码调用 angularjs 服务

标签 javascript angularjs angularjs-service

我有以下 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/

相关文章:

javascript - html/css 和 javascript mvvm 框架集成的 Git 工作流程单独的存储库

javascript - 类型错误 : Cannot read property '_id' of undefined in MEAN Stack

javascript - Angular 提供程序未加载

javascript - 使用 pdf.js 时仅从服务器加载需要的页面

javascript - 从 Javascript 中的 HTTP Post 请求返回图像

AngularJS 订单按日期

javascript - 获取元素 ng 类 AngularJS

angularjs - ui-route 解析不起作用

javascript - AngularJS 监视服务变量

javascript - 函数内的单个函数不会触发,而其他函数会触发