1

我有角度服务

app.factory('MyService', function($http,$q)){
    return{
        super : function(){
             return "Angular is awesome";
        }
    };
});

以及在 Angular 范围之外定义的复杂 javascript 对象(控制器或服务):

var MyObject = {
    anyFunction : function(){
        alert(MyService.super());
    }
};

现在,做

MyObject.anyFunction();

当然失败了。知道如何将 MyService 注入到我的外部 javascript 对象中吗?

4

1 回答 1

1

这是不好的方法,你可以将 Angular 的 var 保存到 localStorage,然后从遗留代码中访问它,作为第二种选择,你可以使用$window服务从工厂访问全局变量。

常见的js:

var myVar;

在工厂:

app.factory('MyService', ['$window', '$http', '$q',function($window, $http, $q)){
    return{
        super : function(){
            $window.myVar = 'that is it';
            //or 
            //localStorage.addItem('myVar', 'varValue');
        }
    };
}]);

MyService.super完成后,你可以像往常一样访问common js中的var

于 2013-08-05T06:13:16.573 回答