programing

angular.js의 커스텀필터 의존관계로서 서비스를 주입하는 방법

fastcode 2023. 3. 16. 21:59
반응형

angular.js의 커스텀필터 의존관계로서 서비스를 주입하는 방법

이벤트를 추적하는 커스텀필터를 작성하려고 합니다.따라서 필터는 segmentio 서비스의 메서드를 호출할 수 있습니다.

angular.module('sageApp')
  .filter('trackEvent', function(segmentio) {
    return function(entry, category) {
     segmentio.track(entry, category);
    }
});

그러나 세그먼트 서비스는 사용할 수 없습니다.필터 woule에 서비스를 주입하는 방법에 대한 어떤 아이디어도 매우 감사하게 생각합니다.

시험:

app.filter('sageApp', ['segmentio', function(segmentio) {
    return function(entry, category) {
        segmentio.track(entry, category);
    }
}]);

서비스가 테스트되어 동작합니다.실제로 저는 각진 크롬 개발 도구를 사용할 때 검사하기 위해 디버거를 삽입할 때 클로저에 변수가 표시되지 않는 문제를 발견했습니다.console.log(segmentio)를 실행했을 때 정상적으로 동작했습니다.

언급URL : https://stackoverflow.com/questions/17687869/how-to-inject-a-service-as-dependency-for-a-custom-filter-in-angular-js

반응형