5 Angular-管道(自定义)
1 代码结构
2 myc02.component.ts
1 import { Component, OnInit } from '@angular/core'; 2 3 @Component({ 4 selector: 'app-myc02', 5 templateUrl: './myc02.component.html', 6 styleUrls: ['./myc02.component.css'] 7 }) 8 export class Myc02Component implements OnInit { 9 10 emps = [ 11 { name: '刘备', age: 37, sex: 1 }, 12 { name: '孙尚香', age: 18, sex: 0 }, 13 { name: '吕布', age: 31, sex: 1 }, 14 { name: '貂蝉', age: 19, sex: 0 }, 15 ]; 16 constructor() { } 17 18 ngOnInit(): void { 19 } 20 21 }myc02.component.ts
3 gender.pipe.ts
1 import { Pipe, PipeTransform } from '@angular/core'; 2 3 @Pipe({ 4 name: 'gender' 5 }) 6 export class GenderPipe implements PipeTransform { 7 // {{item.sex|gender:'xxx'}} 8 //固定的管道写法{{value|管道名}} 9 // value就会固定的传递到下方transform方法的参数1中, 10 transform(value: any, lang = 'zh') { 11 console.log(value); 12 if (lang == 'en') { 13 if (value == 0) return 'Female'; 14 else return 'Male'; 15 } else { 16 if (value == 0) return '女'; 17 else return '男'; 18 } 19 } 20 }gender.pipe.ts
4 myc02.component.html
1 <p>myc02 works!p> 2 3 4 <table border="1"> 5 <tr> 6 <td>序号td> 7 <td>姓名td> 8 <td>年龄td> 9 <td>性别td> 10 <td>性别(EN)td> 11 tr> 12 <tr *ngFor="let item of emps; let i=index"> 13 <td>{{i+1}}td> 14 <td>{{item.name}}td> 15 <td>{{item.age}}td> 16 19 <td>{{item.sex|gender}}td> 20 <td>{{item.sex|gender:"en"}}td> 21 tr> 22 table>myc02.component.html
5 效果图