2014-07-25 16 views
1

나는 함수를 실행할 수있는 방식으로 팩토리를 사용하려고하는데, 제대로 작동하지 않는 것 같습니다. 내 컨트롤러에서 정의되지 않은 'errorCallback'속성을 읽을 수 없습니다.

나는 httpErrorHandler.statusHandlerFunction.errorCallback()

을 호출 할이 내 공장입니다 :

이 형식 오류 : 정의되지 않은

I의 재산 errorCallback을 읽을 수 없습니다

.factory('httpErrorHandler', ["Restangular", "StorageService", 
     function (Restangular, StorageService) { 

      return statusHandlerFunction = function errorCallback() { 
       return alert("Oops error from server :("); 
      } 

     }]); 

내가 오류 또한 시도 :

하지만 얻을 : 정의되지 않은 함수

UPDATE 답변

감사하지 않습니다. 제게 많은 도움을주었습니다.

.factory('httpErrorHandler', function (Restangular, StorageService) { 
    return { 

     errorCallback: function() { 
      return alert("Oops error from server :("); 
     } 
    }; 
}) 

답변

1

개체 표기법에 문제가 있습니다. 사용해보기 :

.factory('httpErrorHandler', ["Restangular", "StorageService", 
function (Restangular, StorageService) { 

    var factory = { 
    statusHandlerFunction: { 
     errorCallback: function() { 
     return alert("Oops error from server :("); 
     } 
    } 
    } 

    return factory; 

}]); 
1

귀사는 그 진술을 제대로 받아들이지 못했습니다. 이 시도 :

.factory('httpErrorHandler', ["Restangular", "StorageService", 
    function (Restangular, StorageService) { 

     var exports = {} 

     exports.errorCallback = function() { 
            return alert("Oops error from server :("); 
           } 
     return exports; 


    } 
]); 

전화를이 대신하여 :

httpErrorHandler.errorCallback(); 

그 방법이 읽고 쉽게, 당신은 당신의 수출이 객체에 방법을 계속 추가하고 마지막에 반환 할 수 있습니다.

관련 문제