即。在货币管道上完成一些额外的格式化。为此,我想在自定义管道的组件代码中使用现有管道。
@Pipe({name: 'formatCurrency'})
export class FormatCurrency implements PipeTransform {
transform(value:number, args:string[]) : any {
var formatted = value/100;
//I would like to use the basic currecy pipe here.
///100 | currency:'EUR':true:'.2'
return 'Do some extra things here ' + formatted;
}
}
您可以在自定义管道中使用角形管道。
首先,在您的管道文件中,您必须导入所需的管道。
import { SlicePipe } from '@angular/common';
然后在自定义管道中使用:
transform(list: any, end: number, active: boolean = true): any {
return active ? new SlicePipe().transform(list, 0, end) : list;
在A6上测试。
或者,您可以注入电流管道:
bootstrap(AppComponent, [CurrencyPipe]);
管:
@Pipe({
name: 'mypipe'
})
export class MyPipe {
constructor(private cp: CurrencyPipe) {
}
transform(value: any, args: any[]) {
return this.cp.transform(value, args);
}
}
您可以扩展< code > current pipe ,如下所示:
export class FormatCurrency extends CurrencyPipe implements PipeTransform {
transform(value: any, args: any[]): string {
let formatedByCurrencyPipe = super.transform(value, args);
let formatedByMe;
// do your thing...
return formatedByMe;
}
}
如果你从源头上看,这类似于角形管道的工作原理...
(由问题作者添加)
不要忘记导入 CurrencyPipe 类
import {CurrencyPipe} from 'angular2/common';
错误: 棱角版本:
使装饰器包含具有name属性的管道元数据。 此值将用于在模板表达式中调用此管道。 它必须是有效的JavaScript标识符。 实现PipeTransform接口的transform方法。 此方法接受管道的值和任何类型的可变数量的参数,并返回一个变换的(“管道”)值。 import { Component } from '@angular/core'; selector: 'app-root',
我正在使用一个自定义管道,过滤数组的第一个字母表在字符串的基础上数组(电话簿样式)。每当我更改字母表参数时,管道就会返回经过过滤的数组,并使用*ngfor显示它。如果没有找到匹配项,则返回空数组,并且我的diplay are为空。 我希望,如果管道返回空数组,我的显示区域应该显示一个div'没有记录找到‘。我怎么能那么做。
Angular 2还具有创建自定义管道的功能。 定义自定义管道的一般方法如下。 import { Pipe, PipeTransform } from '@angular/core'; @Pipe({name: 'Pipename'}) export class Pipeclass implements PipeTransform { transform(parameters): r
问题内容: 下面一些Groovy类中的方法由其他我不知道的其他管道脚本类调用。 所有的println语句已被logger.info取代。 log4j2-test.properties Jenkins作业控制台上的输出(下面仅显示相关部分): 我配置的记录器可能未调用 运行时实例为OutputEventListenerBackedLogger 即使我更改了logger语句,它们也不会反映在输出中,但
传递参数 链接管道 我们可以将多个管道连接在一起,以便在一个表达式中使用多个管道。