2013-08-03 32 views
1

我有一個角服務如何使用的角服務爲無角的對象

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

和一個複雜的javascript對象外部角的範圍(控制器或服務)中所定義:

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

現在,做

MyObject.anyFunction(); 

當然失敗。任何想法如何可以MyService注入到我的外部JavaScript對象?

回答

1

這是不錯的方法,BYT您可以保存角的VAR到localStorage的,然後存取權限從遺留代碼,並作爲第二選擇,您可以從工廠訪問全局變量,使用$窗口服務。

在常見的JS:

var myVar; 

工廠:MyService.super完成

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

後,您可以

以前那樣usualy訪問常用的JS變種