docs(core): add docs for PipeTransform interface

This commit is contained in:
Jeff Cross 2015-09-15 10:21:48 -07:00 committed by Igor Minar
parent 53412a71e5
commit d9776b4112

View File

@ -1,34 +1,36 @@
/** /**
* To create a Pipe, you must implement this interface. * To create a Pipe, you must implement this interface.
* *
* Angular invokes the `transform` method with the subject as the `value` argument and any * Angular invokes the `transform` method with the value of a binding
* parameters in the `args` Array. * as the first argument, and any parameters as the second argument in list form.
* *
* ## Syntax * ## Syntax
* *
* `subject | pipeName[:arg0[:arg1...]]` * `value | pipeName[:arg0[:arg1...]]`
* *
* ## Example * ## Example
* *
* The `RepeatPipe` below repeats the subject as many times as indicated by the first argument: * The `RepeatPipe` below repeats the value as many times as indicated by the first argument:
* *
* ``` * ```
* import {Pipe, PipeTransform} from 'angular2/angular2';
*
* @Pipe({name: 'repeat'}) * @Pipe({name: 'repeat'})
* class RepeatPipe implements PipeTransform { * export class RepeatPipe implements PipeTransform {
*
* transform(value: any, args: any[] = []) { * transform(value: any, args: any[] = []) {
* if (isBlank(args) || args.length == 0) { * if (args.length == 0) {
* throw new BaseException('limitTo pipe requires one argument'); * throw new Error('repeat pipe requires one argument');
* } * }
*
* let times: number = args[0]; * let times: number = args[0];
*
* return value.repeat(times); * return value.repeat(times);
* } * }
* } * }
* ``` * ```
* *
* Invoking `{{ 'ok' | repeat:3 }}` in a template produces `okokok`. * Invoking `{{ 'ok' | repeat:3 }}` in a template produces `okokok`.
*
* See full working example: http://plnkr.co/edit/f5oyIked9M2cKzvZNKHV?p=preview
*
*/ */
export interface PipeTransform { transform(value: any, args: any[]): any; } export interface PipeTransform { transform(value: any, args: any[]): any; }