javascript - Typescript: Hvordan bruke angular $filter innenfor egendefinert filter
Hvordan kan jeg bruke Angular $filter innenfor et egendefinert filter? Hvordan injisere $filter-avhengighet?
module Filters {
export class CustomFilter {
public static Factory() {
return function (input:<any>) {
var result = [];
//Would like to utilize $filter.('filter') here
return result;
}
}
}
angular.module('app')
.filter('customFilter', [CustomFilter.Factory]);
}
Svar #1
Du kan bare injisere $filter og bruke typen ng.IFilterService eller spesifikt bruke filterFilter (hvis du ser etter $filter('filter')) og bruke typen Function.
module Filters {
export class CustomFilter {
//Here use `$filter` or filterFilter itself
//public static Factory($filter: ng.IFilterService)
public static Factory(filter:Function) {
return function (input:any) {
var result = [];
//filter is now $filter('filter')
return result;
}
}
}
angular.module('app')
.filter('customFilter', ['filterFilter', CustomFilter.Factory]);
//Inject $filter for generic filter getter
}
