zoukankan      html  css  js  c++  java
  • Angular2管道在模板和component.ts中的使用

    以自定义管道为例区分在模板和组件中的使用

    定义管道(pipe.ts)

    import { Pipe, PipeTransform } from '@angular/core';
    
    @Pipe({
        name: 'alarmPipe' // 自定义管道名
    })
    export class AlarmPipePipe implements PipeTransform {
        transform(value: any, args?: any): any {
            let res: string;
            if (value === 1) {
                res = 'TRUE';
            } else if (value === 0) {
                res = 'FALSE';
            } else if (value === -1) {
                res = 'UNVERIFIED';
            } else {
                res = 'OPEN';
            }
            return res;
        }
    }
    

    一、在组件中使用管道时

    1.首先在组件所在module中提供providers供组件租入使用

    component.module.ts

    import { AlarmPipePipe } from 'app/alarm-management/alarm-pipe.pipe'; // import自定义组件
    
    @NgModule({
        imports: [
            CommonModule,
            MaterialModule,
            FormsModule,
            ReactiveFormsModule,
            NgZorroAntdModule,
            MatFormFieldModule,
            MatInputModule,
            MatSelectModule,
            SharedModule,
            MultiLayoutModule,
            TranslateModule,
            AlarmMgtRoutingModule
        ],
        providers: [AlarmPipePipe], // provides管道供组件注入使用
        declarations: [AlarmMgtComponent]
    })
    export class AlarmMgtModule {}
    
    

    2.在component.ts中使用

    import { AlarmPipePipe } from 'app/alarm-management/alarm-pipe.pipe'; // 引入组件
    
       constructor(
            ....
            private alarmPipe: AlarmPipePipe // 注入自定义组件
        ) {
        }
    
    
    test() {
       this.alarmPipe.transform(1) // 使用管道 ‘TRUE’
    }
    
    

    二、在模板中使用

    // component.html
    
    <td>
    {{1 | alarmPipe}} // ‘TRUE’
    </td>
    
  • 相关阅读:
    偶的机机升级了
    质疑 Sina.com 的金牌榜[图文]
    一道JAVA作业题
    北京出差总结
    我拿什么奉献给你
    CSDN无限极树PHP+MySQL版
    极大强连通分量的Tarjan算法
    NOI2001 炮兵阵地详解
    单调队列及其应用
    some english website
  • 原文地址:https://www.cnblogs.com/yuanchao-blog/p/13254889.html
Copyright © 2011-2022 走看看