0

我試着使用值,但即時得到一個TypeError Controllercode使用價值調用工廠的功能角度

$scope.onButtonHovered = function(event){ 
console.log("event.descriptorName "+ event.descriptorName); 
      console.log("SERVICES[event.descriptorName].name "+ SERVICES[event.descriptorName].name); 
      $scope.service = SERVICES[event.descriptorName].name; 
      $scope.btnOptions = $scope.service.buttonOptions(); 
      } 

打印調用從控制器工廠的功能: event.descriptorName HOME

SERVICES [event.descriptorName] .name homeService

VM92009 angular.js:13642 Ty peError:$ scope.service.buttonOptions不是一個函數

服務:

angular.module('ht.constants'). 
    value('SERVICES',{ 
         HOME : {name : 'homeService', descriptor : {}}, 
CONTACT: {name : 'contactService', descriptor : {}}, 
        }); 

廠:

 angular.module('ht.home'). 
     factory('homeService', [ HomeService]); 
    var homeService= {} 
     function HomeService() { 
    homeService.buttonOptions = function(){ 
       if(homeData==null) 
        init(); 
       return homeData; 
      } 
return homeService; 
    } 

我試着使用一個控制器來調用多個服務,而印刷即時獲得預期,但是當我追加工廠功能相同的即時通訊錯誤。 感謝您的幫助

+0

什麼是'事件'? –

+0

按鈕點擊自定義事件 –

+0

將'value()'轉換爲服務,並從那裏返回適當的其他服務。就像一個主服務,如果我無法在一兩天內得到答案,你就不需要在控制器 – charlietfl

回答

0

改變這一行

$scope.service = SERVICES[event.descriptorName].name; 

這個

$scope.service = SERVICES[event.descriptorName]; 
+0

我想知道這是如何幫助SERVICES [event.descriptorName]給家庭不是所需的homeService。我確實給了它一個嘗試,但仍然是相同的錯誤。 VM197634 angular.js:13642 TypeError:$ scope.service.buttonOptions不是函數 –

0
$scope.btnOptions = eval($scope.service).buttonOptions(); 

EVAL的伎倆。 謝謝大家幫助我。