angular Decimal pipe inturn。このパイプは共有モジュールの一部です。これを機能モジュールで使用しています。応用。
タイプミスがある場合は無視してください。
./ src/pipes/custom.pipe.ts
import { DecimalPipe } from '@angular/common';
..
@Pipe({
name: 'customDecimalPipe'
})
...
export class CustomPipe {
constructor(public decimalPipe: DecimalPipe) {}
transform(value: any, format: any) {
...
}
./ modules/shared.module.ts
import { CustomPipe } from '../pipes/custom.pipe';
...
@NgModule({
imports: [ .. ],
declarations: [ CustomPipe ],
exports: [ CustomPipe ]
})
export class SharedModule { }
コンポーネントの1つにカスタムパイプを挿入し、変換メソッドを呼び出して、変換された値を取得します。共有モジュールは、機能モジュールにインポートされます。
コンポーネントでパイプのtransform()
メソッドを使用する場合は、モジュールのプロバイダーにCustomPipe
を追加する必要もあります。
import { CustomPipe } from '../pipes/custom.pipe';
...
@NgModule({
imports: [ .. ],
declarations: [ CustomPipe ],
exports: [ CustomPipe ],
providers: [ CustomPipe ]
})
export class SharedModule { }
CustomPipe
をモジュールのプロバイダーリストに追加する以外に、代替手段はコンポーネントのプロバイダーに追加することです。これは、カスタムパイプが少数のコンポーネントでのみ使用されている場合に役立ちます。
import { CustomPipe } from '../pipes/custom.pipe';
...
@Component({
templateUrl: './some.component.html',
...
providers: [CustomPipe]
})
export class SomeComponent{
...
}
お役に立てれば。
パイプを注入可能にすることもできます(cliを使用して作成するサービスで行われるのと同じ方法)。
import { Injectable, Pipe, PipeTransform } from '@angular/core';
@Pipe({
name: 'customDecimalPipe'
})
@Injectable({
providedIn: 'root'
})
export class CustomPipe extends PipeTransform {
...
}