Trang chủ Lập trình Angular 2 căn bản Angular 2 căn bản - Bài 14: Cách tạo và sử dụng Pipes
Lập trình Angular 2 căn bản 23/01/2017 6,846 lượt xem

Angular 2 căn bản - Bài 14: Cách tạo và sử dụng Pipes

Angular 2 căn bản - Bài 14: Cách tạo và sử dụng Pipes

Bài học này chúng ta sẽ học cách sử dụng các Pipe có sẵn trong Angular 2 để định dạng và chuyển đổi dữ liệu hiển thị, đồng thời học cách tạo mới các custom pipe theo nhu cầu nghiệp vụ riêng.

Bước 1. Tạo pipe

import { Pipe, PipeTransform } from '@angular/core';

/*
 * Raise the value exponentially
 * Takes an exponent argument that defaults to 1.
 * Usage:
 *   value | exponentialStrength:exponent
 * Example:
 *   {{ 2 |  exponentialStrength:10}}
 *   formats to: 1024
*/
@Pipe({name: 'exponentialStrength'})
export class ExponentialStrengthPipe implements PipeTransform {
  transform(value: number, exponent: string): number {
    let exp = parseFloat(exponent);
    return Math.pow(value, isNaN(exp) ? 1 : exp);
  }
}

Bước 2. Nhúng Pipe vào app.module.ts

import { NgModule }      from '@angular/core';
import { BrowserModule } from '@angular/platform-browser';
import { AppComponent }   from './app.component';
import {TutorialComponent} from './tutorial.component';
import {FormsModule} from '@angular/forms'
import {ExponentialStrengthPipe} from './exponential-strength.pipe';
@NgModule({
  imports:      [ BrowserModule,FormsModule ],
  declarations: [ AppComponent,TutorialComponent,ExponentialStrengthPipe],
  bootstrap:    [ AppComponent ]
})
export class AppModule { }

Bước 3: Sử dụng Pipe

import { Component } from '@angular/core';
@Component({
  selector: 'my-app',
  template: `
  <h1>{{title | uppercase}}!</h1>
  <p>Date today: {{today | date:'shortDate' | uppercase}}</p>
  <p>Percent: {{percentNumber | percent}}</p>
  <p>e (3.1-5): {{e | number}}</p>
  <pre>{{object | json}}</pre>
  <p>2 power 10: {{ 2 |  exponentialStrength:2}}</p>
  <ul>
    <li *ngFor="let i of collection | slice:1:3">{{i}}</li>
  </ul>
  <my-tutorial></my-tutorial>
  `,
})
export class AppComponent {
  public title = "Hello TEDU Channel"
  public today = Date.now();
  public percentNumber = 1.3495;
  public  e: number = 2.718281828459045;
   public object: Object = {foo: 'bar', baz: 'qux', nested: {xyz: 3, numbers: [1, 2, 3, 4, 5]}};

   public collection: string[] = ['a', 'b', 'c', 'd'];
}

Chi tiết xem tại video:

Tác giả: Bạch Ngọc Toàn

Chú ý: Tất cả các bài viết trên TEDU.COM.VN đều thuộc bản quyền TEDU, yêu cầu dẫn nguồn khi trích lại trên website khác.

Chia sẻ:

Bài viết liên quan

Giới thiệu về Angular
08/12/2019 Bạch Ngọc Toàn

Giới thiệu về Angular

Chào mừng bạn đến với series bài viết hướng dẫn Angular. Series này bao gồm từ Angular 2, 3, 4, 5, 6, 7, 8 và 9. Bao gồm các bước để bắt đầu làm chủ Angular

Đọc thêm
Angular 2 căn bản - Bài 10: Two way binding
16/01/2017 Bạch Ngọc Toàn

Angular 2 căn bản - Bài 10: Two way binding

Tìm hiểu cơ chế hoạt động của Two way - binding trong Angular 2 và sự khác nhau giữa Angular 1 và 2. Đây là tính năng rất quan trọng và thường sử dụng khi bạn làm việc với Angular

Đọc thêm