- vừa được xem lúc

Tạo một custom Pipe trong Angular

0 0 25

Người đăng: Gấu con

Theo Viblo Asia

Như các bạn đã biết trong angular bạn có thể sử dụng được một số pipes mặc định đã được cũng cấp sẵn như UpperCasePipe, LowerCasePipe....
Tuy nhiên, nhiều khi chúng ta muốn sử dụng một cái pipe khác ngoài các pipes mặc định mà angular đã cũng cấp sẵn. Trong bài viết này mình sẽ chia sẻ cách tạo một custom pipe trong angular.
Các bạn hãy theo dõi ví dụ bên dưới để hiểu hơn về cách tạo và sử dụng một custom pipe nhé.
1.Đầu tiên hãy chạy command bên dưới để tạo một component với tên là custom-pipe

ng g c custom-pipe

Sau khi chạy xong, chúng ta được một thư mục custom-pipe chứa các file như bên dưới:

Tiếp tục, mình thêm selector của component mới tạo vào file src/app/app.component.html

<app-custom-pipe></app-custom-pipe>

2.Tiếp tục tạo một file truncate.ts trong thư mục custom-pipe với mục đích là trả về giá trị rút gọn với một dấu chấm lửng được thêm vào cuối string.
src/app/custom-pipe/truncate.ts

import {Pipe, PipeTransform} from '@angular/core'; @Pipe({name: 'truncate'}) export class TruncatePipe implements PipeTransform { transform(value: string) { return value.split(' ').slice(0, 2).join(' ') + '...'; }
}

3.Cập nhật code trong file src/app/custom-pipe/custom-pipe.component.ts

import { Component, OnInit } from '@angular/core'; @Component({ selector: 'app-custom-pipe', templateUrl: './custom-pipe.component.html', styleUrls: ['./custom-pipe.component.css']
})
export class CustomPipeComponent implements OnInit { constructor() { } ngOnInit(): void { } text: string = 'welcome to angular 13!';
} 

4.Cập nhật code trong file src/app/custom-pipe/custom-pipe.component.html

<div class="container"> <div class="col col-lg-7"> <table class="table"> <thead> <tr class="table-info"> <th scope="col">Name Pipe</th> <th scope="col">Input</th> <th scope="col">Output</th> </tr> </thead> <tbody> <tr> <td>use custome pipe:</td> <td>{{ text }}</td> <td>{{ text | truncate }}</td> </tr> </tbody> </table> </div>
</div> 

5.Cập nhật code trong file src/app/app.module.ts
Chúng ta sẽ import 2 component CustomPipeComponent, TruncatePipe vào file này

import { NgModule } from '@angular/core';
import { BrowserModule } from '@angular/platform-browser'; import { AppRoutingModule } from './app-routing.module';
import { AppComponent } from './app.component';
import { CustomPipeComponent } from './custom-pipe/custom-pipe.component';
import { TruncatePipe } from './custom-pipe/truncate'; @NgModule({ declarations: [ AppComponent, CustomPipeComponent, TruncatePipe ], imports: [ BrowserModule, AppRoutingModule, FormsModule ], providers: [], bootstrap: [AppComponent]
})
export class AppModule { } 

Chạy chương trình và kiểm tra kết quả Output:

Trong ví dụ sau, TruncatePipe nhận các tham số đặt độ dài bị cắt ngắn:
src/app/custom-pipe/truncate.ts

import {Pipe, PipeTransform} from '@angular/core'; @Pipe({name: 'truncate'})
export class TruncatePipe implements PipeTransform { transform(value: string, length: number, symbol: string) { return value.split(' ').slice(0, length).join(' ') + symbol; }
}

Cập nhật code trong file src/app/custom-pipe/custom-pipe.component.html

<td>{{ text | truncate:4:'....' }}</td>

Chạy chương trình và kiểm tra kết quả Output:

Bình luận

Bài viết tương tự

- vừa được xem lúc

Route in Angular JS

Router là một module được đặt tại @angular/router, cung cấp cho ứng dụng Angluar của chúng ta khả năng điều hướng và hiển thị nội dung phù hợp với địa chỉ URL. Với các ứng dụng web thông thường, việc điều hướng theo URL thường sẽ do phía server đảm nhiệm, giống như hình ảnh dưới đây là ví dụ với Rai

0 0 96

- vừa được xem lúc

Có gì mới trong Angular 11

Phiên bản Angular 11.0.0 được phát hành vào tháng 11 năm 2020. Bản phát hành chính Angular 11 cung cấp các bản cập nhật trên toàn bộ nền tảng, bao gồm CLI và các components.

0 0 102

- vừa được xem lúc

Pipe trong Angular

Xin chào tất cả mọi người, bài viết này minh xin giới thiệu về Pipe trong Angular, rất mong được mọi người theo dõi. 1) Pipe trong Angular là gì. . .

0 0 127

- vừa được xem lúc

Angular Reactive Forms: Cách sử dụng FormArray

Trong bài viết này chúng ta sẽ tìm hiểu khi nào và cách sử dụng FormArray, cả trong Component và trong Template, ngoài ra chúng ta sẽ xem cách để custom validation cho nó. Vì sao chúng ta cần sử dụng FormArray.

0 0 107

- vừa được xem lúc

RxJS và Reactive Programming

1 - Stream. Streams are a sequence of values over time.

0 0 356

- vừa được xem lúc

Mapping class Java với Angular Typescript model – Chưa bao giờ dễ đến thế

Xin chào mọi người hôm nay mình giới thiệu một loại đồ chơi cực xịn cực hay ho luôn, đây là một thư viện giúp cho mọi người tạo ra 1 class Typescript trong dự án Frontend ở đây mình lấy ví dụ là Angul

0 0 95