source

AngularJs의 서비스에 dateFilter를 삽입합니다.

nicesource 2023. 3. 10. 22:06
반응형

AngularJs의 서비스에 dateFilter를 삽입합니다.

AngularJs의 서비스에 필터를 주입하는 방법이 있는지 알고 싶습니다.

난 노력해왔다.

app.factory('educationService', [function($rootScope, $filter) {

    // ..... Some code

    // What I want
    console.log(dateFilter(new Date(), 'yyyy-MM-01'));

    // ..... Some code

}]);

그래서 서비스에 필터를 주입할 수 있는지, 아니면 다른 방법으로 접근할 수 있는지 알고 싶습니다.

그리고 이 점에 관한 문서에 대한 링크가 있다면 매우 좋을 것입니다. :) Angular 문서를 검색했는데 도움이 되는 내용을 찾을 수 없었습니다.

감사합니다:)

먼저 다음과 같이 필터를 주입해야 합니다.

app.factory('myService', ['$rootScope', '$filter', function($rootScope, $filter) 

(어레이는 빌드 프로세스에서 최소화를 사용하는 경우에만 필요)

특정 필터를 프로그래밍 방식으로 호출하려면:

$filter('date')(new Date(), 'yyyy-MM-01');

$filter(name)는 특정 필터 함수를 반환합니다.이 함수는 인수를 사용하여 호출할 수 있습니다.

var dateFilter = $filter('date');
var filteredDate = dateFilter(new Date(), 'yyyy-MM-01')

필터 함수는 에 등록되어 있습니다.$injector가 붙은 필터명으로Filter. -- $filterProvider 문서

이는 Angular 내장 필터 및 사용자 정의 필터에 적용됩니다.

그래서 주사할 수 있습니다.dateFilter다음과 같이 서비스를 제공합니다(최소화하지 않은 경우).

app.factory('educationService', [function($rootScope, dateFilter) {

필터를 1개만 사용하고 있는 경우, 이 방법을 사용하면 실제 의존관계를 보다 구체적으로 지정할 수 있습니다.여러 필터를 사용해야 하는 경우,$filter@Stewie 쇼처럼.

언급URL : https://stackoverflow.com/questions/15408336/inject-datefilter-in-a-service-in-angularjs

반응형